diff --git a/.gitignore b/.gitignore index 471649d7a04d8cceac6c50214dfbbd0615762329..cc70659661a774cb2c6940cdb09c669a4daf1053 100644 --- a/.gitignore +++ b/.gitignore @@ -82,3 +82,6 @@ DerivedData # Podfile.lock and the workspace file are tracked, to ease deleting them. That's # needed to trigger "pod install" to rerun the preinstall commands. Pods/ + +# Artifacts directory +artifacts/ diff --git a/BUILD b/BUILD index c02fb9d5b314ff0e2cd90ae9576c0646df060974..fa19d3d0e368984d38d72585a0f1ca7aad0e6c7e 100644 --- a/BUILD +++ b/BUILD @@ -418,6 +418,7 @@ cc_library( "src/core/census/context.c", "src/core/census/initialize.c", "src/core/census/operation.c", + "src/core/census/tag_set.c", "src/core/census/tracing.c", ], hdrs = [ @@ -438,6 +439,9 @@ cc_library( "//external:zlib", ":gpr", ], + copts = [ + "-std=gnu99", + ], ) @@ -690,6 +694,7 @@ cc_library( "src/core/census/context.c", "src/core/census/initialize.c", "src/core/census/operation.c", + "src/core/census/tag_set.c", "src/core/census/tracing.c", ], hdrs = [ @@ -707,6 +712,9 @@ cc_library( deps = [ ":gpr", ], + copts = [ + "-std=gnu99", + ], ) @@ -1225,6 +1233,7 @@ objc_library( "src/core/census/context.c", "src/core/census/initialize.c", "src/core/census/operation.c", + "src/core/census/tag_set.c", "src/core/census/tracing.c", ], hdrs = [ diff --git a/Makefile b/Makefile index 6d15a57745db9b79f70ee0363ccc460bc7da84d2..d3597c276ce5f61230d0ceb20e6ac8660641e982 100644 --- a/Makefile +++ b/Makefile @@ -104,17 +104,40 @@ CXX_basicprof = $(DEFAULT_CXX) LD_basicprof = $(DEFAULT_CC) LDXX_basicprof = $(DEFAULT_CXX) CPPFLAGS_basicprof = -O2 -DGRPC_BASIC_PROFILER -DGRPC_TIMERS_RDTSC -LDFLAGS_basicprof = DEFINES_basicprof = NDEBUG -VALID_CONFIG_stapprof = 1 -CC_stapprof = $(DEFAULT_CC) -CXX_stapprof = $(DEFAULT_CXX) -LD_stapprof = $(DEFAULT_CC) -LDXX_stapprof = $(DEFAULT_CXX) -CPPFLAGS_stapprof = -O2 -DGRPC_STAP_PROFILER -LDFLAGS_stapprof = -DEFINES_stapprof = NDEBUG +VALID_CONFIG_helgrind = 1 +CC_helgrind = $(DEFAULT_CC) +CXX_helgrind = $(DEFAULT_CXX) +LD_helgrind = $(DEFAULT_CC) +LDXX_helgrind = $(DEFAULT_CXX) +CPPFLAGS_helgrind = -O0 +LDFLAGS_helgrind = -rdynamic +DEFINES_helgrind = _DEBUG DEBUG +DEFINES_helgrind += GRPC_TEST_SLOWDOWN_BUILD_FACTOR=20 + +VALID_CONFIG_asan-noleaks = 1 +REQUIRE_CUSTOM_LIBRARIES_asan-noleaks = 1 +CC_asan-noleaks = clang +CXX_asan-noleaks = clang++ +LD_asan-noleaks = clang +LDXX_asan-noleaks = clang++ +CFLAGS_asan-noleaks = -O0 -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument +CXXFLAGS_asan-noleaks = -O0 -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument +LDFLAGS_asan-noleaks = -fsanitize=address +DEFINES_asan-noleaks += GRPC_TEST_SLOWDOWN_BUILD_FACTOR=1.5 + +VALID_CONFIG_ubsan = 1 +REQUIRE_CUSTOM_LIBRARIES_ubsan = 1 +CC_ubsan = clang +CXX_ubsan = clang++ +LD_ubsan = clang +LDXX_ubsan = clang++ +CFLAGS_ubsan = -O1 -fsanitize=undefined -fno-omit-frame-pointer -Wno-unused-command-line-argument +CXXFLAGS_ubsan = -O1 -fsanitize=undefined -fno-omit-frame-pointer -Wno-unused-command-line-argument +LDFLAGS_ubsan = -fsanitize=undefined +DEFINES_ubsan = NDEBUG +DEFINES_ubsan += GRPC_TEST_SLOWDOWN_BUILD_FACTOR=1.5 VALID_CONFIG_dbg = 1 CC_dbg = $(DEFAULT_CC) @@ -125,35 +148,33 @@ CPPFLAGS_dbg = -O0 LDFLAGS_dbg = -rdynamic DEFINES_dbg = _DEBUG DEBUG -VALID_CONFIG_mutrace = 1 -CC_mutrace = $(DEFAULT_CC) -CXX_mutrace = $(DEFAULT_CXX) -LD_mutrace = $(DEFAULT_CC) -LDXX_mutrace = $(DEFAULT_CXX) -CPPFLAGS_mutrace = -O0 -LDFLAGS_mutrace = -rdynamic -DEFINES_mutrace = _DEBUG DEBUG +VALID_CONFIG_stapprof = 1 +CC_stapprof = $(DEFAULT_CC) +CXX_stapprof = $(DEFAULT_CXX) +LD_stapprof = $(DEFAULT_CC) +LDXX_stapprof = $(DEFAULT_CXX) +CPPFLAGS_stapprof = -O2 -DGRPC_STAP_PROFILER +DEFINES_stapprof = NDEBUG -VALID_CONFIG_valgrind = 1 -REQUIRE_CUSTOM_LIBRARIES_valgrind = 1 -CC_valgrind = $(DEFAULT_CC) -CXX_valgrind = $(DEFAULT_CXX) -LD_valgrind = $(DEFAULT_CC) -LDXX_valgrind = $(DEFAULT_CXX) -CPPFLAGS_valgrind = -O0 -LDFLAGS_valgrind = -rdynamic -DEFINES_valgrind = _DEBUG DEBUG GRPC_TEST_SLOWDOWN_BUILD_FACTOR=20 +VALID_CONFIG_gcov = 1 +CC_gcov = gcc +CXX_gcov = g++ +LD_gcov = gcc +LDXX_gcov = g++ +CFLAGS_gcov = -O0 -fprofile-arcs -ftest-coverage -Wno-return-type +CXXFLAGS_gcov = -O0 -fprofile-arcs -ftest-coverage -Wno-return-type +LDFLAGS_gcov = -fprofile-arcs -ftest-coverage -rdynamic +DEFINES_gcov = _DEBUG DEBUG GPR_GCOV -VALID_CONFIG_tsan = 1 -REQUIRE_CUSTOM_LIBRARIES_tsan = 1 -CC_tsan = clang -CXX_tsan = clang++ -LD_tsan = clang -LDXX_tsan = clang++ -CFLAGS_tsan = -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument -fPIE -pie -CXXFLAGS_tsan = -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument -fPIE -pie -LDFLAGS_tsan = -fsanitize=thread -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,) -DEFINES_tsan = NDEBUG GRPC_TEST_SLOWDOWN_BUILD_FACTOR=10 +VALID_CONFIG_memcheck = 1 +CC_memcheck = $(DEFAULT_CC) +CXX_memcheck = $(DEFAULT_CXX) +LD_memcheck = $(DEFAULT_CC) +LDXX_memcheck = $(DEFAULT_CXX) +CPPFLAGS_memcheck = -O0 +LDFLAGS_memcheck = -rdynamic +DEFINES_memcheck = _DEBUG DEBUG +DEFINES_memcheck += GRPC_TEST_SLOWDOWN_BUILD_FACTOR=10 VALID_CONFIG_asan = 1 REQUIRE_CUSTOM_LIBRARIES_asan = 1 @@ -164,39 +185,40 @@ LDXX_asan = clang++ CFLAGS_asan = -O0 -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument CXXFLAGS_asan = -O0 -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument LDFLAGS_asan = -fsanitize=address -DEFINES_asan = GRPC_TEST_SLOWDOWN_BUILD_FACTOR=3 +DEFINES_asan += GRPC_TEST_SLOWDOWN_BUILD_FACTOR=1.5 + +VALID_CONFIG_tsan = 1 +REQUIRE_CUSTOM_LIBRARIES_tsan = 1 +CC_tsan = clang +CXX_tsan = clang++ +LD_tsan = clang +LDXX_tsan = clang++ +CFLAGS_tsan = -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument -fPIE -pie +CXXFLAGS_tsan = -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument -fPIE -pie +LDFLAGS_tsan = -fsanitize=thread -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,) +DEFINES_tsan += GRPC_TEST_SLOWDOWN_BUILD_FACTOR=2 VALID_CONFIG_msan = 1 REQUIRE_CUSTOM_LIBRARIES_msan = 1 CC_msan = clang -CXX_msan = clang++-libc++ +CXX_msan = clang++ LD_msan = clang -LDXX_msan = clang++-libc++ +LDXX_msan = clang++ CFLAGS_msan = -O0 -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-command-line-argument -fPIE -pie CXXFLAGS_msan = -O0 -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-command-line-argument -fPIE -pie LDFLAGS_msan = -fsanitize=memory -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,) -DEFINES_msan = NDEBUG GRPC_TEST_SLOWDOWN_BUILD_FACTOR=4 +DEFINES_msan = NDEBUG +DEFINES_msan += GRPC_TEST_SLOWDOWN_BUILD_FACTOR=1.5 -VALID_CONFIG_ubsan = 1 -REQUIRE_CUSTOM_LIBRARIES_ubsan = 1 -CC_ubsan = clang -CXX_ubsan = clang++ -LD_ubsan = clang -LDXX_ubsan = clang++ -CFLAGS_ubsan = -O1 -fsanitize=undefined -fno-omit-frame-pointer -Wno-unused-command-line-argument -CXXFLAGS_ubsan = -O1 -fsanitize=undefined -fno-omit-frame-pointer -Wno-unused-command-line-argument -LDFLAGS_ubsan = -fsanitize=undefined -DEFINES_ubsan = NDEBUG GRPC_TEST_SLOWDOWN_BUILD_FACTOR=3 +VALID_CONFIG_mutrace = 1 +CC_mutrace = $(DEFAULT_CC) +CXX_mutrace = $(DEFAULT_CXX) +LD_mutrace = $(DEFAULT_CC) +LDXX_mutrace = $(DEFAULT_CXX) +CPPFLAGS_mutrace = -O0 +LDFLAGS_mutrace = -rdynamic +DEFINES_mutrace = _DEBUG DEBUG -VALID_CONFIG_gcov = 1 -CC_gcov = gcc -CXX_gcov = g++ -LD_gcov = gcc -LDXX_gcov = g++ -CFLAGS_gcov = -O0 -fprofile-arcs -ftest-coverage -Wno-return-type -CXXFLAGS_gcov = -O0 -fprofile-arcs -ftest-coverage -Wno-return-type -LDFLAGS_gcov = -fprofile-arcs -ftest-coverage -rdynamic -DEFINES_gcov = _DEBUG DEBUG GPR_GCOV # General settings. @@ -515,15 +537,22 @@ PC_REQUIRES_GRPC = gpr PC_LIBS_GRPC = ifeq ($(HAS_SYSTEM_ZLIB),false) -ifeq ($(HAS_EMBEDDED_ZLIB),true) -ZLIB_DEP = $(LIBDIR)/$(CONFIG)/zlib/libz.a -ZLIB_MERGE_LIBS = $(LIBDIR)/$(CONFIG)/zlib/libz.a -CPPFLAGS += -Ithird_party/zlib -LDFLAGS += -L$(LIBDIR)/$(CONFIG)/zlib +ifeq ($(HAS_EMBEDDED_ZLIB), true) +EMBED_ZLIB ?= true else DEP_MISSING += zlib +EMBED_ZLIB ?= broken endif else +EMBED_ZLIB ?= false +endif + +ifeq ($(EMBED_ZLIB),true) +ZLIB_DEP = $(LIBDIR)/$(CONFIG)/libz.a +ZLIB_MERGE_LIBS = $(LIBDIR)/$(CONFIG)/libz.a +CPPFLAGS += -Ithird_party/zlib +LDFLAGS += -L$(LIBDIR)/$(CONFIG)/zlib +else ifeq ($(HAS_PKG_CONFIG),true) CPPFLAGS += $(shell $(PKG_CONFIG) --cflags zlib) LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-L zlib) @@ -878,6 +907,7 @@ set_initial_connect_string_test: $(BINDIR)/$(CONFIG)/set_initial_connect_string_ sockaddr_resolver_test: $(BINDIR)/$(CONFIG)/sockaddr_resolver_test sockaddr_utils_test: $(BINDIR)/$(CONFIG)/sockaddr_utils_test socket_utils_test: $(BINDIR)/$(CONFIG)/socket_utils_test +tag_set_test: $(BINDIR)/$(CONFIG)/tag_set_test tcp_client_posix_test: $(BINDIR)/$(CONFIG)/tcp_client_posix_test tcp_posix_test: $(BINDIR)/$(CONFIG)/tcp_posix_test tcp_server_posix_test: $(BINDIR)/$(CONFIG)/tcp_server_posix_test @@ -975,6 +1005,18 @@ boringssl_tab_test: $(BINDIR)/$(CONFIG)/boringssl_tab_test boringssl_v3name_test: $(BINDIR)/$(CONFIG)/boringssl_v3name_test boringssl_pqueue_test: $(BINDIR)/$(CONFIG)/boringssl_pqueue_test boringssl_ssl_test: $(BINDIR)/$(CONFIG)/boringssl_ssl_test +badreq_bad_client_test: $(BINDIR)/$(CONFIG)/badreq_bad_client_test +connection_prefix_bad_client_test: $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test +headers_bad_client_test: $(BINDIR)/$(CONFIG)/headers_bad_client_test +initial_settings_frame_bad_client_test: $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test +server_registered_method_bad_client_test: $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test +simple_request_bad_client_test: $(BINDIR)/$(CONFIG)/simple_request_bad_client_test +unknown_frame_bad_client_test: $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test +window_overflow_bad_client_test: $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test +bad_ssl_alpn_server: $(BINDIR)/$(CONFIG)/bad_ssl_alpn_server +bad_ssl_cert_server: $(BINDIR)/$(CONFIG)/bad_ssl_cert_server +bad_ssl_alpn_test: $(BINDIR)/$(CONFIG)/bad_ssl_alpn_test +bad_ssl_cert_test: $(BINDIR)/$(CONFIG)/bad_ssl_cert_test h2_census_test: $(BINDIR)/$(CONFIG)/h2_census_test h2_compress_test: $(BINDIR)/$(CONFIG)/h2_compress_test h2_fakesec_test: $(BINDIR)/$(CONFIG)/h2_fakesec_test @@ -1006,18 +1048,6 @@ h2_sockpair_1byte_nosec_test: $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_nosec_test h2_uchannel_nosec_test: $(BINDIR)/$(CONFIG)/h2_uchannel_nosec_test h2_uds_nosec_test: $(BINDIR)/$(CONFIG)/h2_uds_nosec_test h2_uds+poll_nosec_test: $(BINDIR)/$(CONFIG)/h2_uds+poll_nosec_test -badreq_bad_client_test: $(BINDIR)/$(CONFIG)/badreq_bad_client_test -connection_prefix_bad_client_test: $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test -headers_bad_client_test: $(BINDIR)/$(CONFIG)/headers_bad_client_test -initial_settings_frame_bad_client_test: $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test -server_registered_method_bad_client_test: $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test -simple_request_bad_client_test: $(BINDIR)/$(CONFIG)/simple_request_bad_client_test -unknown_frame_bad_client_test: $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test -window_overflow_bad_client_test: $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test -bad_ssl_alpn_server: $(BINDIR)/$(CONFIG)/bad_ssl_alpn_server -bad_ssl_cert_server: $(BINDIR)/$(CONFIG)/bad_ssl_cert_server -bad_ssl_alpn_test: $(BINDIR)/$(CONFIG)/bad_ssl_alpn_test -bad_ssl_cert_test: $(BINDIR)/$(CONFIG)/bad_ssl_cert_test run_dep_checks: $(OPENSSL_ALPN_CHECK_CMD) || true @@ -1028,14 +1058,6 @@ run_dep_checks: $(PROTOC_CHECK_VERSION_CMD) || true $(ZOOKEEPER_CHECK_CMD) || true -$(LIBDIR)/$(CONFIG)/zlib/libz.a: - $(E) "[MAKE] Building zlib" - $(Q)(cd third_party/zlib ; CC="$(CC)" CFLAGS="$(CFLAGS_$(CONFIG)) $(PIC_CPPFLAGS) -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(ZLIB_CFLAGS_EXTRA)" ./configure --static) - $(Q)$(MAKE) -C third_party/zlib clean - $(Q)$(MAKE) -C third_party/zlib - $(Q)mkdir -p $(LIBDIR)/$(CONFIG)/zlib - $(Q)cp third_party/zlib/libz.a $(LIBDIR)/$(CONFIG)/zlib - third_party/protobuf/configure: $(E) "[AUTOGEN] Preparing protobuf" $(Q)(cd third_party/protobuf ; autoreconf -f -i -Wall,no-obsolete) @@ -1082,7 +1104,7 @@ plugins: $(PROTOC_PLUGINS) privatelibs: privatelibs_c privatelibs_cxx -privatelibs_c: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a +privatelibs_c: $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libreconnect_server.a $(LIBDIR)/$(CONFIG)/libtest_tcp_server.a $(LIBDIR)/$(CONFIG)/libz.a $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a pc_gpr: $(LIBDIR)/$(CONFIG)/pkgconfig/gpr.pc pc_c: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc.pc @@ -1185,6 +1207,7 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/sockaddr_resolver_test \ $(BINDIR)/$(CONFIG)/sockaddr_utils_test \ $(BINDIR)/$(CONFIG)/socket_utils_test \ + $(BINDIR)/$(CONFIG)/tag_set_test \ $(BINDIR)/$(CONFIG)/tcp_client_posix_test \ $(BINDIR)/$(CONFIG)/tcp_posix_test \ $(BINDIR)/$(CONFIG)/tcp_server_posix_test \ @@ -1200,6 +1223,18 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/uri_parser_test \ $(BINDIR)/$(CONFIG)/workqueue_test \ $(BINDIR)/$(CONFIG)/public_headers_must_be_c89 \ + $(BINDIR)/$(CONFIG)/badreq_bad_client_test \ + $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test \ + $(BINDIR)/$(CONFIG)/headers_bad_client_test \ + $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test \ + $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test \ + $(BINDIR)/$(CONFIG)/simple_request_bad_client_test \ + $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test \ + $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test \ + $(BINDIR)/$(CONFIG)/bad_ssl_alpn_server \ + $(BINDIR)/$(CONFIG)/bad_ssl_cert_server \ + $(BINDIR)/$(CONFIG)/bad_ssl_alpn_test \ + $(BINDIR)/$(CONFIG)/bad_ssl_cert_test \ $(BINDIR)/$(CONFIG)/h2_census_test \ $(BINDIR)/$(CONFIG)/h2_compress_test \ $(BINDIR)/$(CONFIG)/h2_fakesec_test \ @@ -1231,18 +1266,6 @@ buildtests_c: privatelibs_c \ $(BINDIR)/$(CONFIG)/h2_uchannel_nosec_test \ $(BINDIR)/$(CONFIG)/h2_uds_nosec_test \ $(BINDIR)/$(CONFIG)/h2_uds+poll_nosec_test \ - $(BINDIR)/$(CONFIG)/badreq_bad_client_test \ - $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test \ - $(BINDIR)/$(CONFIG)/headers_bad_client_test \ - $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test \ - $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test \ - $(BINDIR)/$(CONFIG)/simple_request_bad_client_test \ - $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test \ - $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test \ - $(BINDIR)/$(CONFIG)/bad_ssl_alpn_server \ - $(BINDIR)/$(CONFIG)/bad_ssl_cert_server \ - $(BINDIR)/$(CONFIG)/bad_ssl_alpn_test \ - $(BINDIR)/$(CONFIG)/bad_ssl_cert_test \ buildtests_cxx: buildtests_zookeeper privatelibs_cxx \ @@ -1478,6 +1501,8 @@ test_c: buildtests_c $(Q) $(BINDIR)/$(CONFIG)/sockaddr_utils_test || ( echo test sockaddr_utils_test failed ; exit 1 ) $(E) "[RUN] Testing socket_utils_test" $(Q) $(BINDIR)/$(CONFIG)/socket_utils_test || ( echo test socket_utils_test failed ; exit 1 ) + $(E) "[RUN] Testing tag_set_test" + $(Q) $(BINDIR)/$(CONFIG)/tag_set_test || ( echo test tag_set_test failed ; exit 1 ) $(E) "[RUN] Testing tcp_client_posix_test" $(Q) $(BINDIR)/$(CONFIG)/tcp_client_posix_test || ( echo test tcp_client_posix_test failed ; exit 1 ) $(E) "[RUN] Testing tcp_posix_test" @@ -2458,6 +2483,7 @@ LIBGRPC_SRC = \ src/core/census/context.c \ src/core/census/initialize.c \ src/core/census/operation.c \ + src/core/census/tag_set.c \ src/core/census/tracing.c \ PUBLIC_HEADERS_C += \ @@ -2761,6 +2787,7 @@ LIBGRPC_UNSECURE_SRC = \ src/core/census/context.c \ src/core/census/initialize.c \ src/core/census/operation.c \ + src/core/census/tag_set.c \ src/core/census/tracing.c \ PUBLIC_HEADERS_C += \ @@ -3598,10 +3625,10 @@ $(OBJDIR)/$(CONFIG)/test/cpp/interop/server.o: $(GENDIR)/src/proto/grpc/testing/ LIBQPS_SRC = \ $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc \ $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc \ - $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc \ $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc \ + $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc \ $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc \ test/cpp/qps/client_async.cc \ test/cpp/qps/client_sync.cc \ @@ -3657,16 +3684,16 @@ ifneq ($(NO_DEPS),true) -include $(LIBQPS_OBJS:.o=.dep) endif endif -$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_async.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_sync.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/driver.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/perf_db_client.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_worker.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/report.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_async.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_sync.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/qps/timer.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc -$(OBJDIR)/$(CONFIG)/test/cpp/util/benchmark_config.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_async.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/client_sync.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/driver.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/perf_db_client.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/qps_worker.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/report.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_async.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/server_sync.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/qps/timer.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc +$(OBJDIR)/$(CONFIG)/test/cpp/util/benchmark_config.o: $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/services.pb.cc $(GENDIR)/src/proto/grpc/testing/services.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.pb.cc $(GENDIR)/src/proto/grpc/testing/perf_db.grpc.pb.cc LIBGRPC_CSHARP_EXT_SRC = \ @@ -5439,6 +5466,121 @@ ifneq ($(NO_DEPS),true) endif +LIBZ_SRC = \ + third_party/zlib/adler32.c \ + third_party/zlib/compress.c \ + third_party/zlib/crc32.c \ + third_party/zlib/deflate.c \ + third_party/zlib/gzclose.c \ + third_party/zlib/gzlib.c \ + third_party/zlib/gzread.c \ + third_party/zlib/gzwrite.c \ + third_party/zlib/infback.c \ + third_party/zlib/inffast.c \ + third_party/zlib/inflate.c \ + third_party/zlib/inftrees.c \ + third_party/zlib/trees.c \ + third_party/zlib/uncompr.c \ + third_party/zlib/zutil.c \ + + +LIBZ_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBZ_SRC)))) + +$(LIBZ_OBJS): CFLAGS := $(CFLAGS) -Wno-sign-conversion -Wno-conversion -Wno-unused-value -Wno-implicit-function-declaration -fvisibility=hidden + +$(LIBDIR)/$(CONFIG)/libz.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBZ_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libz.a + $(Q) $(AR) rcs $(LIBDIR)/$(CONFIG)/libz.a $(LIBZ_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib $(LIBDIR)/$(CONFIG)/libz.a +endif + + + + +ifneq ($(NO_DEPS),true) +-include $(LIBZ_OBJS:.o=.dep) +endif + + +LIBBAD_CLIENT_TEST_SRC = \ + test/core/bad_client/bad_client.c \ + + +LIBBAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBAD_CLIENT_TEST_SRC)))) + + +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL. + +$(LIBDIR)/$(CONFIG)/libbad_client_test.a: openssl_dep_error + + +else + + +$(LIBDIR)/$(CONFIG)/libbad_client_test.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBBAD_CLIENT_TEST_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libbad_client_test.a + $(Q) $(AR) rcs $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBBAD_CLIENT_TEST_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib $(LIBDIR)/$(CONFIG)/libbad_client_test.a +endif + + + + +endif + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(LIBBAD_CLIENT_TEST_OBJS:.o=.dep) +endif +endif + + +LIBBAD_SSL_TEST_SERVER_SRC = \ + test/core/bad_ssl/server.c \ + + +LIBBAD_SSL_TEST_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBAD_SSL_TEST_SERVER_SRC)))) + + +ifeq ($(NO_SECURE),true) + +# You can't build secure libraries if you don't have OpenSSL. + +$(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a: openssl_dep_error + + +else + + +$(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBBAD_SSL_TEST_SERVER_OBJS) + $(E) "[AR] Creating $@" + $(Q) mkdir -p `dirname $@` + $(Q) rm -f $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a + $(Q) $(AR) rcs $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBBAD_SSL_TEST_SERVER_OBJS) +ifeq ($(SYSTEM),Darwin) + $(Q) ranlib $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a +endif + + + + +endif + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(LIBBAD_SSL_TEST_SERVER_OBJS:.o=.dep) +endif +endif + + LIBEND2END_TESTS_SRC = \ test/core/end2end/end2end_tests.c \ test/core/end2end/tests/bad_hostname.c \ @@ -5612,102 +5754,26 @@ endif endif -LIBBAD_CLIENT_TEST_SRC = \ - test/core/bad_client/bad_client.c \ +# All of the test targets, and protoc plugins -LIBBAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBAD_CLIENT_TEST_SRC)))) +ALGORITHM_TEST_SRC = \ + test/core/compression/algorithm_test.c \ +ALGORITHM_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ALGORITHM_TEST_SRC)))) ifeq ($(NO_SECURE),true) -# You can't build secure libraries if you don't have OpenSSL. - -$(LIBDIR)/$(CONFIG)/libbad_client_test.a: openssl_dep_error +# You can't build secure targets if you don't have OpenSSL. +$(BINDIR)/$(CONFIG)/algorithm_test: openssl_dep_error else -$(LIBDIR)/$(CONFIG)/libbad_client_test.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBBAD_CLIENT_TEST_OBJS) - $(E) "[AR] Creating $@" - $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libbad_client_test.a - $(Q) $(AR) rcs $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBBAD_CLIENT_TEST_OBJS) -ifeq ($(SYSTEM),Darwin) - $(Q) ranlib $(LIBDIR)/$(CONFIG)/libbad_client_test.a -endif - - - - -endif - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(LIBBAD_CLIENT_TEST_OBJS:.o=.dep) -endif -endif - - -LIBBAD_SSL_TEST_SERVER_SRC = \ - test/core/bad_ssl/server.c \ - - -LIBBAD_SSL_TEST_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBAD_SSL_TEST_SERVER_SRC)))) - - -ifeq ($(NO_SECURE),true) - -# You can't build secure libraries if you don't have OpenSSL. - -$(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a: openssl_dep_error - - -else - - -$(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a: $(ZLIB_DEP) $(OPENSSL_DEP) $(LIBBAD_SSL_TEST_SERVER_OBJS) - $(E) "[AR] Creating $@" - $(Q) mkdir -p `dirname $@` - $(Q) rm -f $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a - $(Q) $(AR) rcs $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBBAD_SSL_TEST_SERVER_OBJS) -ifeq ($(SYSTEM),Darwin) - $(Q) ranlib $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a -endif - - - - -endif - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(LIBBAD_SSL_TEST_SERVER_OBJS:.o=.dep) -endif -endif - - - -# All of the test targets, and protoc plugins - - -ALGORITHM_TEST_SRC = \ - test/core/compression/algorithm_test.c \ - -ALGORITHM_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(ALGORITHM_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/algorithm_test: openssl_dep_error - -else - - - -$(BINDIR)/$(CONFIG)/algorithm_test: $(ALGORITHM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" + +$(BINDIR)/$(CONFIG)/algorithm_test: $(ALGORITHM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` $(Q) $(LD) $(LDFLAGS) $(ALGORITHM_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/algorithm_test @@ -8284,6 +8350,38 @@ endif endif +TAG_SET_TEST_SRC = \ + test/core/census/tag_set_test.c \ + +TAG_SET_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(TAG_SET_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/tag_set_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/tag_set_test: $(TAG_SET_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(TAG_SET_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/tag_set_test + +endif + +$(OBJDIR)/$(CONFIG)/test/core/census/tag_set_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_tag_set_test: $(TAG_SET_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(TAG_SET_TEST_OBJS:.o=.dep) +endif +endif + + TCP_CLIENT_POSIX_TEST_SRC = \ test/core/iomgr/tcp_client_posix_test.c \ @@ -11687,1127 +11785,1127 @@ endif -H2_CENSUS_TEST_SRC = \ - test/core/end2end/fixtures/h2_census.c \ - -H2_CENSUS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_CENSUS_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/h2_census_test: openssl_dep_error - -else +BADREQ_BAD_CLIENT_TEST_SRC = \ + test/core/bad_client/tests/badreq.c \ +BADREQ_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BADREQ_BAD_CLIENT_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/h2_census_test: $(H2_CENSUS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/badreq_bad_client_test: $(BADREQ_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_CENSUS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_census_test - -endif + $(Q) $(LD) $(LDFLAGS) $(BADREQ_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/badreq_bad_client_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_census.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/badreq.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_census_test: $(H2_CENSUS_TEST_OBJS:.o=.dep) +deps_badreq_bad_client_test: $(BADREQ_BAD_CLIENT_TEST_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_CENSUS_TEST_OBJS:.o=.dep) -endif +-include $(BADREQ_BAD_CLIENT_TEST_OBJS:.o=.dep) endif -H2_COMPRESS_TEST_SRC = \ - test/core/end2end/fixtures/h2_compress.c \ - -H2_COMPRESS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_COMPRESS_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/h2_compress_test: openssl_dep_error - -else +CONNECTION_PREFIX_BAD_CLIENT_TEST_SRC = \ + test/core/bad_client/tests/connection_prefix.c \ +CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CONNECTION_PREFIX_BAD_CLIENT_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/h2_compress_test: $(H2_COMPRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test: $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_COMPRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_compress_test - -endif + $(Q) $(LD) $(LDFLAGS) $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_compress.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/connection_prefix.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_compress_test: $(H2_COMPRESS_TEST_OBJS:.o=.dep) +deps_connection_prefix_bad_client_test: $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_COMPRESS_TEST_OBJS:.o=.dep) -endif +-include $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS:.o=.dep) endif -H2_FAKESEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_fakesec.c \ - -H2_FAKESEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FAKESEC_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/h2_fakesec_test: openssl_dep_error - -else +HEADERS_BAD_CLIENT_TEST_SRC = \ + test/core/bad_client/tests/headers.c \ +HEADERS_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HEADERS_BAD_CLIENT_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/h2_fakesec_test: $(H2_FAKESEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/headers_bad_client_test: $(HEADERS_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FAKESEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_fakesec_test - -endif + $(Q) $(LD) $(LDFLAGS) $(HEADERS_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/headers_bad_client_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_fakesec.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/headers.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_fakesec_test: $(H2_FAKESEC_TEST_OBJS:.o=.dep) +deps_headers_bad_client_test: $(HEADERS_BAD_CLIENT_TEST_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_FAKESEC_TEST_OBJS:.o=.dep) -endif +-include $(HEADERS_BAD_CLIENT_TEST_OBJS:.o=.dep) endif -H2_FULL_TEST_SRC = \ - test/core/end2end/fixtures/h2_full.c \ - -H2_FULL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/h2_full_test: openssl_dep_error - -else +INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_SRC = \ + test/core/bad_client/tests/initial_settings_frame.c \ +INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/h2_full_test: $(H2_FULL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test: $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full_test - -endif + $(Q) $(LD) $(LDFLAGS) $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/initial_settings_frame.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_full_test: $(H2_FULL_TEST_OBJS:.o=.dep) +deps_initial_settings_frame_bad_client_test: $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_FULL_TEST_OBJS:.o=.dep) -endif +-include $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep) endif -H2_FULL+PIPE_TEST_SRC = \ - test/core/end2end/fixtures/h2_full+pipe.c \ - -H2_FULL+PIPE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+PIPE_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/h2_full+pipe_test: openssl_dep_error - -else +SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_SRC = \ + test/core/bad_client/tests/server_registered_method.c \ +SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/h2_full+pipe_test: $(H2_FULL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test: $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full+pipe_test - -endif + $(Q) $(LD) $(LDFLAGS) $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+pipe.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/server_registered_method.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_full+pipe_test: $(H2_FULL+PIPE_TEST_OBJS:.o=.dep) +deps_server_registered_method_bad_client_test: $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_FULL+PIPE_TEST_OBJS:.o=.dep) -endif +-include $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS:.o=.dep) endif -H2_FULL+POLL_TEST_SRC = \ - test/core/end2end/fixtures/h2_full+poll.c \ - -H2_FULL+POLL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+POLL_TEST_SRC)))) -ifeq ($(NO_SECURE),true) +SIMPLE_REQUEST_BAD_CLIENT_TEST_SRC = \ + test/core/bad_client/tests/simple_request.c \ -# You can't build secure targets if you don't have OpenSSL. +SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SIMPLE_REQUEST_BAD_CLIENT_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/h2_full+poll_test: openssl_dep_error -else +$(BINDIR)/$(CONFIG)/simple_request_bad_client_test: $(SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/simple_request_bad_client_test +$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/simple_request.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +deps_simple_request_bad_client_test: $(SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS:.o=.dep) -$(BINDIR)/$(CONFIG)/h2_full+poll_test: $(H2_FULL+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +ifneq ($(NO_DEPS),true) +-include $(SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS:.o=.dep) +endif + + +UNKNOWN_FRAME_BAD_CLIENT_TEST_SRC = \ + test/core/bad_client/tests/unknown_frame.c \ + +UNKNOWN_FRAME_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(UNKNOWN_FRAME_BAD_CLIENT_TEST_SRC)))) + + +$(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test: $(UNKNOWN_FRAME_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full+poll_test + $(Q) $(LD) $(LDFLAGS) $(UNKNOWN_FRAME_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test + +$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/unknown_frame.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_unknown_frame_bad_client_test: $(UNKNOWN_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep) +ifneq ($(NO_DEPS),true) +-include $(UNKNOWN_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep) endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_full+poll_test: $(H2_FULL+POLL_TEST_OBJS:.o=.dep) +WINDOW_OVERFLOW_BAD_CLIENT_TEST_SRC = \ + test/core/bad_client/tests/window_overflow.c \ + +WINDOW_OVERFLOW_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(WINDOW_OVERFLOW_BAD_CLIENT_TEST_SRC)))) + + +$(BINDIR)/$(CONFIG)/window_overflow_bad_client_test: $(WINDOW_OVERFLOW_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + $(E) "[LD] Linking $@" + $(Q) mkdir -p `dirname $@` + $(Q) $(LD) $(LDFLAGS) $(WINDOW_OVERFLOW_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test + +$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/window_overflow.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_window_overflow_bad_client_test: $(WINDOW_OVERFLOW_BAD_CLIENT_TEST_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_FULL+POLL_TEST_OBJS:.o=.dep) -endif +-include $(WINDOW_OVERFLOW_BAD_CLIENT_TEST_OBJS:.o=.dep) endif -H2_FULL+POLL+PIPE_TEST_SRC = \ - test/core/end2end/fixtures/h2_full+poll+pipe.c \ +BAD_SSL_ALPN_SERVER_SRC = \ + test/core/bad_ssl/servers/alpn.c \ -H2_FULL+POLL+PIPE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+POLL+PIPE_TEST_SRC)))) +BAD_SSL_ALPN_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BAD_SSL_ALPN_SERVER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/bad_ssl_alpn_server: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test: $(H2_FULL+POLL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/bad_ssl_alpn_server: $(BAD_SSL_ALPN_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL+POLL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test + $(Q) $(LD) $(LDFLAGS) $(BAD_SSL_ALPN_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bad_ssl_alpn_server endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+poll+pipe.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/bad_ssl/servers/alpn.o: $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_full+poll+pipe_test: $(H2_FULL+POLL+PIPE_TEST_OBJS:.o=.dep) +deps_bad_ssl_alpn_server: $(BAD_SSL_ALPN_SERVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_FULL+POLL+PIPE_TEST_OBJS:.o=.dep) +-include $(BAD_SSL_ALPN_SERVER_OBJS:.o=.dep) endif endif -H2_OAUTH2_TEST_SRC = \ - test/core/end2end/fixtures/h2_oauth2.c \ +BAD_SSL_CERT_SERVER_SRC = \ + test/core/bad_ssl/servers/cert.c \ -H2_OAUTH2_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_OAUTH2_TEST_SRC)))) +BAD_SSL_CERT_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BAD_SSL_CERT_SERVER_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_oauth2_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/bad_ssl_cert_server: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_oauth2_test: $(H2_OAUTH2_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/bad_ssl_cert_server: $(BAD_SSL_CERT_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_OAUTH2_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_oauth2_test + $(Q) $(LD) $(LDFLAGS) $(BAD_SSL_CERT_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bad_ssl_cert_server endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_oauth2.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/bad_ssl/servers/cert.o: $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_oauth2_test: $(H2_OAUTH2_TEST_OBJS:.o=.dep) +deps_bad_ssl_cert_server: $(BAD_SSL_CERT_SERVER_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_OAUTH2_TEST_OBJS:.o=.dep) +-include $(BAD_SSL_CERT_SERVER_OBJS:.o=.dep) endif endif -H2_PROXY_TEST_SRC = \ - test/core/end2end/fixtures/h2_proxy.c \ +BAD_SSL_ALPN_TEST_SRC = \ + test/core/bad_ssl/bad_ssl_test.c \ -H2_PROXY_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_PROXY_TEST_SRC)))) +BAD_SSL_ALPN_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BAD_SSL_ALPN_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_proxy_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/bad_ssl_alpn_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_proxy_test: $(H2_PROXY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/bad_ssl_alpn_test: $(BAD_SSL_ALPN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_PROXY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_proxy_test + $(Q) $(LD) $(LDFLAGS) $(BAD_SSL_ALPN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bad_ssl_alpn_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_proxy.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/bad_ssl/bad_ssl_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_proxy_test: $(H2_PROXY_TEST_OBJS:.o=.dep) +deps_bad_ssl_alpn_test: $(BAD_SSL_ALPN_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_PROXY_TEST_OBJS:.o=.dep) +-include $(BAD_SSL_ALPN_TEST_OBJS:.o=.dep) endif endif -H2_SOCKPAIR_TEST_SRC = \ - test/core/end2end/fixtures/h2_sockpair.c \ +BAD_SSL_CERT_TEST_SRC = \ + test/core/bad_ssl/bad_ssl_test.c \ -H2_SOCKPAIR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR_TEST_SRC)))) +BAD_SSL_CERT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BAD_SSL_CERT_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_sockpair_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/bad_ssl_cert_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_sockpair_test: $(H2_SOCKPAIR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/bad_ssl_cert_test: $(BAD_SSL_CERT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_sockpair_test + $(Q) $(LD) $(LDFLAGS) $(BAD_SSL_CERT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bad_ssl_cert_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/bad_ssl/bad_ssl_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_sockpair_test: $(H2_SOCKPAIR_TEST_OBJS:.o=.dep) +deps_bad_ssl_cert_test: $(BAD_SSL_CERT_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_SOCKPAIR_TEST_OBJS:.o=.dep) +-include $(BAD_SSL_CERT_TEST_OBJS:.o=.dep) endif endif -H2_SOCKPAIR+TRACE_TEST_SRC = \ - test/core/end2end/fixtures/h2_sockpair+trace.c \ +H2_CENSUS_TEST_SRC = \ + test/core/end2end/fixtures/h2_census.c \ -H2_SOCKPAIR+TRACE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR+TRACE_TEST_SRC)))) +H2_CENSUS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_CENSUS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_sockpair+trace_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/h2_census_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_sockpair+trace_test: $(H2_SOCKPAIR+TRACE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_census_test: $(H2_CENSUS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR+TRACE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_sockpair+trace_test + $(Q) $(LD) $(LDFLAGS) $(H2_CENSUS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_census_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair+trace.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_census.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_sockpair+trace_test: $(H2_SOCKPAIR+TRACE_TEST_OBJS:.o=.dep) +deps_h2_census_test: $(H2_CENSUS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_SOCKPAIR+TRACE_TEST_OBJS:.o=.dep) +-include $(H2_CENSUS_TEST_OBJS:.o=.dep) endif endif -H2_SOCKPAIR_1BYTE_TEST_SRC = \ - test/core/end2end/fixtures/h2_sockpair_1byte.c \ +H2_COMPRESS_TEST_SRC = \ + test/core/end2end/fixtures/h2_compress.c \ -H2_SOCKPAIR_1BYTE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR_1BYTE_TEST_SRC)))) +H2_COMPRESS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_COMPRESS_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/h2_compress_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test: $(H2_SOCKPAIR_1BYTE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_compress_test: $(H2_COMPRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR_1BYTE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test + $(Q) $(LD) $(LDFLAGS) $(H2_COMPRESS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_compress_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair_1byte.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_compress.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_sockpair_1byte_test: $(H2_SOCKPAIR_1BYTE_TEST_OBJS:.o=.dep) +deps_h2_compress_test: $(H2_COMPRESS_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_SOCKPAIR_1BYTE_TEST_OBJS:.o=.dep) +-include $(H2_COMPRESS_TEST_OBJS:.o=.dep) endif endif -H2_SSL_TEST_SRC = \ - test/core/end2end/fixtures/h2_ssl.c \ +H2_FAKESEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_fakesec.c \ -H2_SSL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SSL_TEST_SRC)))) +H2_FAKESEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FAKESEC_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_ssl_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/h2_fakesec_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_ssl_test: $(H2_SSL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_fakesec_test: $(H2_FAKESEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_SSL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_ssl_test + $(Q) $(LD) $(LDFLAGS) $(H2_FAKESEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_fakesec_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_ssl.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_fakesec.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_ssl_test: $(H2_SSL_TEST_OBJS:.o=.dep) +deps_h2_fakesec_test: $(H2_FAKESEC_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_SSL_TEST_OBJS:.o=.dep) +-include $(H2_FAKESEC_TEST_OBJS:.o=.dep) endif endif -H2_SSL+POLL_TEST_SRC = \ - test/core/end2end/fixtures/h2_ssl+poll.c \ +H2_FULL_TEST_SRC = \ + test/core/end2end/fixtures/h2_full.c \ -H2_SSL+POLL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SSL+POLL_TEST_SRC)))) +H2_FULL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_ssl+poll_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/h2_full_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_ssl+poll_test: $(H2_SSL+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_full_test: $(H2_FULL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_SSL+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_ssl+poll_test + $(Q) $(LD) $(LDFLAGS) $(H2_FULL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_ssl+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_ssl+poll_test: $(H2_SSL+POLL_TEST_OBJS:.o=.dep) +deps_h2_full_test: $(H2_FULL_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_SSL+POLL_TEST_OBJS:.o=.dep) +-include $(H2_FULL_TEST_OBJS:.o=.dep) endif endif -H2_SSL_PROXY_TEST_SRC = \ - test/core/end2end/fixtures/h2_ssl_proxy.c \ +H2_FULL+PIPE_TEST_SRC = \ + test/core/end2end/fixtures/h2_full+pipe.c \ -H2_SSL_PROXY_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SSL_PROXY_TEST_SRC)))) +H2_FULL+PIPE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+PIPE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_ssl_proxy_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/h2_full+pipe_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_ssl_proxy_test: $(H2_SSL_PROXY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_full+pipe_test: $(H2_FULL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_SSL_PROXY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_ssl_proxy_test + $(Q) $(LD) $(LDFLAGS) $(H2_FULL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full+pipe_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_ssl_proxy.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+pipe.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_ssl_proxy_test: $(H2_SSL_PROXY_TEST_OBJS:.o=.dep) +deps_h2_full+pipe_test: $(H2_FULL+PIPE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_SSL_PROXY_TEST_OBJS:.o=.dep) +-include $(H2_FULL+PIPE_TEST_OBJS:.o=.dep) endif endif -H2_UCHANNEL_TEST_SRC = \ - test/core/end2end/fixtures/h2_uchannel.c \ +H2_FULL+POLL_TEST_SRC = \ + test/core/end2end/fixtures/h2_full+poll.c \ -H2_UCHANNEL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UCHANNEL_TEST_SRC)))) +H2_FULL+POLL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+POLL_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_uchannel_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/h2_full+poll_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_uchannel_test: $(H2_UCHANNEL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_full+poll_test: $(H2_FULL+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_UCHANNEL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_uchannel_test + $(Q) $(LD) $(LDFLAGS) $(H2_FULL+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full+poll_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uchannel.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_uchannel_test: $(H2_UCHANNEL_TEST_OBJS:.o=.dep) +deps_h2_full+poll_test: $(H2_FULL+POLL_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_UCHANNEL_TEST_OBJS:.o=.dep) +-include $(H2_FULL+POLL_TEST_OBJS:.o=.dep) endif endif -H2_UDS_TEST_SRC = \ - test/core/end2end/fixtures/h2_uds.c \ +H2_FULL+POLL+PIPE_TEST_SRC = \ + test/core/end2end/fixtures/h2_full+poll+pipe.c \ -H2_UDS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UDS_TEST_SRC)))) +H2_FULL+POLL+PIPE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+POLL+PIPE_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_uds_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_uds_test: $(H2_UDS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test: $(H2_FULL+POLL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_UDS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_uds_test + $(Q) $(LD) $(LDFLAGS) $(H2_FULL+POLL+PIPE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_full+poll+pipe_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uds.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+poll+pipe.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_uds_test: $(H2_UDS_TEST_OBJS:.o=.dep) +deps_h2_full+poll+pipe_test: $(H2_FULL+POLL+PIPE_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_UDS_TEST_OBJS:.o=.dep) +-include $(H2_FULL+POLL+PIPE_TEST_OBJS:.o=.dep) endif endif -H2_UDS+POLL_TEST_SRC = \ - test/core/end2end/fixtures/h2_uds+poll.c \ +H2_OAUTH2_TEST_SRC = \ + test/core/end2end/fixtures/h2_oauth2.c \ -H2_UDS+POLL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UDS+POLL_TEST_SRC)))) +H2_OAUTH2_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_OAUTH2_TEST_SRC)))) ifeq ($(NO_SECURE),true) # You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_uds+poll_test: openssl_dep_error +$(BINDIR)/$(CONFIG)/h2_oauth2_test: openssl_dep_error else -$(BINDIR)/$(CONFIG)/h2_uds+poll_test: $(H2_UDS+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_oauth2_test: $(H2_OAUTH2_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_UDS+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_uds+poll_test + $(Q) $(LD) $(LDFLAGS) $(H2_OAUTH2_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_oauth2_test endif -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uds+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_oauth2.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_uds+poll_test: $(H2_UDS+POLL_TEST_OBJS:.o=.dep) +deps_h2_oauth2_test: $(H2_OAUTH2_TEST_OBJS:.o=.dep) ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_UDS+POLL_TEST_OBJS:.o=.dep) +-include $(H2_OAUTH2_TEST_OBJS:.o=.dep) endif endif -H2_CENSUS_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_census.c \ - -H2_CENSUS_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_CENSUS_NOSEC_TEST_SRC)))) - - -$(BINDIR)/$(CONFIG)/h2_census_nosec_test: $(H2_CENSUS_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_CENSUS_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_census_nosec_test - -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_census.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +H2_PROXY_TEST_SRC = \ + test/core/end2end/fixtures/h2_proxy.c \ -deps_h2_census_nosec_test: $(H2_CENSUS_NOSEC_TEST_OBJS:.o=.dep) +H2_PROXY_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_PROXY_TEST_SRC)))) +ifeq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(H2_CENSUS_NOSEC_TEST_OBJS:.o=.dep) -endif +# You can't build secure targets if you don't have OpenSSL. +$(BINDIR)/$(CONFIG)/h2_proxy_test: openssl_dep_error -H2_COMPRESS_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_compress.c \ +else -H2_COMPRESS_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_COMPRESS_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/h2_compress_nosec_test: $(H2_COMPRESS_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_proxy_test: $(H2_PROXY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_COMPRESS_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_compress_nosec_test - -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_compress.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - -deps_h2_compress_nosec_test: $(H2_COMPRESS_NOSEC_TEST_OBJS:.o=.dep) + $(Q) $(LD) $(LDFLAGS) $(H2_PROXY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_proxy_test -ifneq ($(NO_DEPS),true) --include $(H2_COMPRESS_NOSEC_TEST_OBJS:.o=.dep) endif +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_proxy.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -H2_FULL_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_full.c \ - -H2_FULL_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL_NOSEC_TEST_SRC)))) +deps_h2_proxy_test: $(H2_PROXY_TEST_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(H2_PROXY_TEST_OBJS:.o=.dep) +endif +endif -$(BINDIR)/$(CONFIG)/h2_full_nosec_test: $(H2_FULL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_full_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +H2_SOCKPAIR_TEST_SRC = \ + test/core/end2end/fixtures/h2_sockpair.c \ -deps_h2_full_nosec_test: $(H2_FULL_NOSEC_TEST_OBJS:.o=.dep) +H2_SOCKPAIR_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR_TEST_SRC)))) +ifeq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(H2_FULL_NOSEC_TEST_OBJS:.o=.dep) -endif +# You can't build secure targets if you don't have OpenSSL. +$(BINDIR)/$(CONFIG)/h2_sockpair_test: openssl_dep_error -H2_FULL+PIPE_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_full+pipe.c \ +else -H2_FULL+PIPE_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+PIPE_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/h2_full+pipe_nosec_test: $(H2_FULL+PIPE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_sockpair_test: $(H2_SOCKPAIR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL+PIPE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_full+pipe_nosec_test + $(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_sockpair_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+pipe.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_h2_full+pipe_nosec_test: $(H2_FULL+PIPE_NOSEC_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_h2_sockpair_test: $(H2_SOCKPAIR_TEST_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_FULL+PIPE_NOSEC_TEST_OBJS:.o=.dep) +-include $(H2_SOCKPAIR_TEST_OBJS:.o=.dep) +endif endif -H2_FULL+POLL_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_full+poll.c \ +H2_SOCKPAIR+TRACE_TEST_SRC = \ + test/core/end2end/fixtures/h2_sockpair+trace.c \ -H2_FULL+POLL_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+POLL_NOSEC_TEST_SRC)))) +H2_SOCKPAIR+TRACE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR+TRACE_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_full+poll_nosec_test: $(H2_FULL+POLL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_sockpair+trace_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/h2_sockpair+trace_test: $(H2_SOCKPAIR+TRACE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL+POLL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_full+poll_nosec_test + $(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR+TRACE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_sockpair+trace_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_h2_full+poll_nosec_test: $(H2_FULL+POLL_NOSEC_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair+trace.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +deps_h2_sockpair+trace_test: $(H2_SOCKPAIR+TRACE_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_FULL+POLL_NOSEC_TEST_OBJS:.o=.dep) +-include $(H2_SOCKPAIR+TRACE_TEST_OBJS:.o=.dep) +endif endif -H2_FULL+POLL+PIPE_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_full+poll+pipe.c \ +H2_SOCKPAIR_1BYTE_TEST_SRC = \ + test/core/end2end/fixtures/h2_sockpair_1byte.c \ -H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+POLL+PIPE_NOSEC_TEST_SRC)))) +H2_SOCKPAIR_1BYTE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR_1BYTE_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_full+poll+pipe_nosec_test: $(H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test: $(H2_SOCKPAIR_1BYTE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_full+poll+pipe_nosec_test + $(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR_1BYTE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+poll+pipe.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_h2_full+poll+pipe_nosec_test: $(H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair_1byte.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_h2_sockpair_1byte_test: $(H2_SOCKPAIR_1BYTE_TEST_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS:.o=.dep) +-include $(H2_SOCKPAIR_1BYTE_TEST_OBJS:.o=.dep) +endif endif -H2_PROXY_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_proxy.c \ +H2_SSL_TEST_SRC = \ + test/core/end2end/fixtures/h2_ssl.c \ -H2_PROXY_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_PROXY_NOSEC_TEST_SRC)))) +H2_SSL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SSL_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_proxy_nosec_test: $(H2_PROXY_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_ssl_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/h2_ssl_test: $(H2_SSL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_PROXY_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_proxy_nosec_test + $(Q) $(LD) $(LDFLAGS) $(H2_SSL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_ssl_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_proxy.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_h2_proxy_nosec_test: $(H2_PROXY_NOSEC_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_ssl.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_h2_ssl_test: $(H2_SSL_TEST_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_PROXY_NOSEC_TEST_OBJS:.o=.dep) +-include $(H2_SSL_TEST_OBJS:.o=.dep) +endif endif -H2_SOCKPAIR_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_sockpair.c \ +H2_SSL+POLL_TEST_SRC = \ + test/core/end2end/fixtures/h2_ssl+poll.c \ -H2_SOCKPAIR_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR_NOSEC_TEST_SRC)))) +H2_SSL+POLL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SSL+POLL_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_sockpair_nosec_test: $(H2_SOCKPAIR_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_ssl+poll_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/h2_ssl+poll_test: $(H2_SSL+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_sockpair_nosec_test + $(Q) $(LD) $(LDFLAGS) $(H2_SSL+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_ssl+poll_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_h2_sockpair_nosec_test: $(H2_SOCKPAIR_NOSEC_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_ssl+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +deps_h2_ssl+poll_test: $(H2_SSL+POLL_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_SOCKPAIR_NOSEC_TEST_OBJS:.o=.dep) +-include $(H2_SSL+POLL_TEST_OBJS:.o=.dep) +endif endif -H2_SOCKPAIR+TRACE_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_sockpair+trace.c \ +H2_SSL_PROXY_TEST_SRC = \ + test/core/end2end/fixtures/h2_ssl_proxy.c \ -H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR+TRACE_NOSEC_TEST_SRC)))) +H2_SSL_PROXY_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SSL_PROXY_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_sockpair+trace_nosec_test: $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_ssl_proxy_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/h2_ssl_proxy_test: $(H2_SSL_PROXY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_sockpair+trace_nosec_test + $(Q) $(LD) $(LDFLAGS) $(H2_SSL_PROXY_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_ssl_proxy_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair+trace.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_h2_sockpair+trace_nosec_test: $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_ssl_proxy.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +deps_h2_ssl_proxy_test: $(H2_SSL_PROXY_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS:.o=.dep) +-include $(H2_SSL_PROXY_TEST_OBJS:.o=.dep) +endif endif -H2_SOCKPAIR_1BYTE_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_sockpair_1byte.c \ +H2_UCHANNEL_TEST_SRC = \ + test/core/end2end/fixtures/h2_uchannel.c \ -H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_SRC)))) +H2_UCHANNEL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UCHANNEL_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. +$(BINDIR)/$(CONFIG)/h2_uchannel_test: openssl_dep_error -$(BINDIR)/$(CONFIG)/h2_sockpair_1byte_nosec_test: $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +else + + + +$(BINDIR)/$(CONFIG)/h2_uchannel_test: $(H2_UCHANNEL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_nosec_test + $(Q) $(LD) $(LDFLAGS) $(H2_UCHANNEL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_uchannel_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair_1byte.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_h2_sockpair_1byte_nosec_test: $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uchannel.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +deps_h2_uchannel_test: $(H2_UCHANNEL_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS:.o=.dep) +-include $(H2_UCHANNEL_TEST_OBJS:.o=.dep) +endif endif -H2_UCHANNEL_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_uchannel.c \ +H2_UDS_TEST_SRC = \ + test/core/end2end/fixtures/h2_uds.c \ -H2_UCHANNEL_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UCHANNEL_NOSEC_TEST_SRC)))) +H2_UDS_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UDS_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_uchannel_nosec_test: $(H2_UCHANNEL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_uds_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/h2_uds_test: $(H2_UDS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_UCHANNEL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_uchannel_nosec_test + $(Q) $(LD) $(LDFLAGS) $(H2_UDS_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_uds_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uchannel.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_h2_uchannel_nosec_test: $(H2_UCHANNEL_NOSEC_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uds.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_h2_uds_test: $(H2_UDS_TEST_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_UCHANNEL_NOSEC_TEST_OBJS:.o=.dep) +-include $(H2_UDS_TEST_OBJS:.o=.dep) +endif endif -H2_UDS_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_uds.c \ +H2_UDS+POLL_TEST_SRC = \ + test/core/end2end/fixtures/h2_uds+poll.c \ -H2_UDS_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UDS_NOSEC_TEST_SRC)))) +H2_UDS+POLL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UDS+POLL_TEST_SRC)))) +ifeq ($(NO_SECURE),true) +# You can't build secure targets if you don't have OpenSSL. -$(BINDIR)/$(CONFIG)/h2_uds_nosec_test: $(H2_UDS_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_uds+poll_test: openssl_dep_error + +else + + + +$(BINDIR)/$(CONFIG)/h2_uds+poll_test: $(H2_UDS+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_UDS_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_uds_nosec_test + $(Q) $(LD) $(LDFLAGS) $(H2_UDS+POLL_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/h2_uds+poll_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uds.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +endif -deps_h2_uds_nosec_test: $(H2_UDS_NOSEC_TEST_OBJS:.o=.dep) +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uds+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_tests.a $(LIBDIR)/$(CONFIG)/libend2end_certs.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a + +deps_h2_uds+poll_test: $(H2_UDS+POLL_TEST_OBJS:.o=.dep) +ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(H2_UDS_NOSEC_TEST_OBJS:.o=.dep) +-include $(H2_UDS+POLL_TEST_OBJS:.o=.dep) +endif endif -H2_UDS+POLL_NOSEC_TEST_SRC = \ - test/core/end2end/fixtures/h2_uds+poll.c \ +H2_CENSUS_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_census.c \ -H2_UDS+POLL_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UDS+POLL_NOSEC_TEST_SRC)))) +H2_CENSUS_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_CENSUS_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/h2_uds+poll_nosec_test: $(H2_UDS+POLL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_census_nosec_test: $(H2_CENSUS_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(H2_UDS+POLL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_uds+poll_nosec_test + $(Q) $(LD) $(LDFLAGS) $(H2_CENSUS_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_census_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uds+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_census.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_h2_uds+poll_nosec_test: $(H2_UDS+POLL_NOSEC_TEST_OBJS:.o=.dep) +deps_h2_census_nosec_test: $(H2_CENSUS_NOSEC_TEST_OBJS:.o=.dep) ifneq ($(NO_DEPS),true) --include $(H2_UDS+POLL_NOSEC_TEST_OBJS:.o=.dep) +-include $(H2_CENSUS_NOSEC_TEST_OBJS:.o=.dep) endif -BADREQ_BAD_CLIENT_TEST_SRC = \ - test/core/bad_client/tests/badreq.c \ +H2_COMPRESS_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_compress.c \ -BADREQ_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BADREQ_BAD_CLIENT_TEST_SRC)))) +H2_COMPRESS_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_COMPRESS_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/badreq_bad_client_test: $(BADREQ_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_compress_nosec_test: $(H2_COMPRESS_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(BADREQ_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/badreq_bad_client_test + $(Q) $(LD) $(LDFLAGS) $(H2_COMPRESS_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_compress_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/badreq.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_compress.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_badreq_bad_client_test: $(BADREQ_BAD_CLIENT_TEST_OBJS:.o=.dep) +deps_h2_compress_nosec_test: $(H2_COMPRESS_NOSEC_TEST_OBJS:.o=.dep) ifneq ($(NO_DEPS),true) --include $(BADREQ_BAD_CLIENT_TEST_OBJS:.o=.dep) +-include $(H2_COMPRESS_NOSEC_TEST_OBJS:.o=.dep) endif -CONNECTION_PREFIX_BAD_CLIENT_TEST_SRC = \ - test/core/bad_client/tests/connection_prefix.c \ +H2_FULL_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_full.c \ -CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CONNECTION_PREFIX_BAD_CLIENT_TEST_SRC)))) +H2_FULL_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test: $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_full_nosec_test: $(H2_FULL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test + $(Q) $(LD) $(LDFLAGS) $(H2_FULL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_full_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/connection_prefix.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_connection_prefix_bad_client_test: $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS:.o=.dep) +deps_h2_full_nosec_test: $(H2_FULL_NOSEC_TEST_OBJS:.o=.dep) ifneq ($(NO_DEPS),true) --include $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS:.o=.dep) +-include $(H2_FULL_NOSEC_TEST_OBJS:.o=.dep) endif -HEADERS_BAD_CLIENT_TEST_SRC = \ - test/core/bad_client/tests/headers.c \ +H2_FULL+PIPE_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_full+pipe.c \ -HEADERS_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(HEADERS_BAD_CLIENT_TEST_SRC)))) +H2_FULL+PIPE_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+PIPE_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/headers_bad_client_test: $(HEADERS_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_full+pipe_nosec_test: $(H2_FULL+PIPE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(HEADERS_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/headers_bad_client_test + $(Q) $(LD) $(LDFLAGS) $(H2_FULL+PIPE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_full+pipe_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/headers.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+pipe.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_headers_bad_client_test: $(HEADERS_BAD_CLIENT_TEST_OBJS:.o=.dep) +deps_h2_full+pipe_nosec_test: $(H2_FULL+PIPE_NOSEC_TEST_OBJS:.o=.dep) ifneq ($(NO_DEPS),true) --include $(HEADERS_BAD_CLIENT_TEST_OBJS:.o=.dep) +-include $(H2_FULL+PIPE_NOSEC_TEST_OBJS:.o=.dep) endif -INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_SRC = \ - test/core/bad_client/tests/initial_settings_frame.c \ +H2_FULL+POLL_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_full+poll.c \ -INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_SRC)))) +H2_FULL+POLL_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+POLL_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test: $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_full+poll_nosec_test: $(H2_FULL+POLL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test + $(Q) $(LD) $(LDFLAGS) $(H2_FULL+POLL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_full+poll_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/initial_settings_frame.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_initial_settings_frame_bad_client_test: $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep) +deps_h2_full+poll_nosec_test: $(H2_FULL+POLL_NOSEC_TEST_OBJS:.o=.dep) ifneq ($(NO_DEPS),true) --include $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep) +-include $(H2_FULL+POLL_NOSEC_TEST_OBJS:.o=.dep) endif -SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_SRC = \ - test/core/bad_client/tests/server_registered_method.c \ +H2_FULL+POLL+PIPE_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_full+poll+pipe.c \ -SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_SRC)))) +H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_FULL+POLL+PIPE_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test: $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_full+poll+pipe_nosec_test: $(H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/server_registered_method_bad_client_test + $(Q) $(LD) $(LDFLAGS) $(H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_full+poll+pipe_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/server_registered_method.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_full+poll+pipe.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_server_registered_method_bad_client_test: $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS:.o=.dep) +deps_h2_full+poll+pipe_nosec_test: $(H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS:.o=.dep) ifneq ($(NO_DEPS),true) --include $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS:.o=.dep) +-include $(H2_FULL+POLL+PIPE_NOSEC_TEST_OBJS:.o=.dep) endif -SIMPLE_REQUEST_BAD_CLIENT_TEST_SRC = \ - test/core/bad_client/tests/simple_request.c \ +H2_PROXY_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_proxy.c \ -SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SIMPLE_REQUEST_BAD_CLIENT_TEST_SRC)))) +H2_PROXY_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_PROXY_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/simple_request_bad_client_test: $(SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_proxy_nosec_test: $(H2_PROXY_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/simple_request_bad_client_test + $(Q) $(LD) $(LDFLAGS) $(H2_PROXY_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_proxy_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/simple_request.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_proxy.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_simple_request_bad_client_test: $(SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS:.o=.dep) +deps_h2_proxy_nosec_test: $(H2_PROXY_NOSEC_TEST_OBJS:.o=.dep) ifneq ($(NO_DEPS),true) --include $(SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS:.o=.dep) +-include $(H2_PROXY_NOSEC_TEST_OBJS:.o=.dep) endif -UNKNOWN_FRAME_BAD_CLIENT_TEST_SRC = \ - test/core/bad_client/tests/unknown_frame.c \ +H2_SOCKPAIR_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_sockpair.c \ -UNKNOWN_FRAME_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(UNKNOWN_FRAME_BAD_CLIENT_TEST_SRC)))) +H2_SOCKPAIR_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test: $(UNKNOWN_FRAME_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_sockpair_nosec_test: $(H2_SOCKPAIR_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(UNKNOWN_FRAME_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/unknown_frame_bad_client_test + $(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_sockpair_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/unknown_frame.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_unknown_frame_bad_client_test: $(UNKNOWN_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep) +deps_h2_sockpair_nosec_test: $(H2_SOCKPAIR_NOSEC_TEST_OBJS:.o=.dep) ifneq ($(NO_DEPS),true) --include $(UNKNOWN_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep) +-include $(H2_SOCKPAIR_NOSEC_TEST_OBJS:.o=.dep) endif -WINDOW_OVERFLOW_BAD_CLIENT_TEST_SRC = \ - test/core/bad_client/tests/window_overflow.c \ +H2_SOCKPAIR+TRACE_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_sockpair+trace.c \ -WINDOW_OVERFLOW_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(WINDOW_OVERFLOW_BAD_CLIENT_TEST_SRC)))) +H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR+TRACE_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/window_overflow_bad_client_test: $(WINDOW_OVERFLOW_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_sockpair+trace_nosec_test: $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(WINDOW_OVERFLOW_BAD_CLIENT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/window_overflow_bad_client_test + $(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_sockpair+trace_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/bad_client/tests/window_overflow.o: $(LIBDIR)/$(CONFIG)/libbad_client_test.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair+trace.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_window_overflow_bad_client_test: $(WINDOW_OVERFLOW_BAD_CLIENT_TEST_OBJS:.o=.dep) +deps_h2_sockpair+trace_nosec_test: $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS:.o=.dep) ifneq ($(NO_DEPS),true) --include $(WINDOW_OVERFLOW_BAD_CLIENT_TEST_OBJS:.o=.dep) +-include $(H2_SOCKPAIR+TRACE_NOSEC_TEST_OBJS:.o=.dep) endif -BAD_SSL_ALPN_SERVER_SRC = \ - test/core/bad_ssl/servers/alpn.c \ - -BAD_SSL_ALPN_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BAD_SSL_ALPN_SERVER_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/bad_ssl_alpn_server: openssl_dep_error - -else +H2_SOCKPAIR_1BYTE_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_sockpair_1byte.c \ +H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/bad_ssl_alpn_server: $(BAD_SSL_ALPN_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_sockpair_1byte_nosec_test: $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(BAD_SSL_ALPN_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bad_ssl_alpn_server - -endif + $(Q) $(LD) $(LDFLAGS) $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_sockpair_1byte_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/bad_ssl/servers/alpn.o: $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_sockpair_1byte.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_bad_ssl_alpn_server: $(BAD_SSL_ALPN_SERVER_OBJS:.o=.dep) +deps_h2_sockpair_1byte_nosec_test: $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(BAD_SSL_ALPN_SERVER_OBJS:.o=.dep) -endif +-include $(H2_SOCKPAIR_1BYTE_NOSEC_TEST_OBJS:.o=.dep) endif -BAD_SSL_CERT_SERVER_SRC = \ - test/core/bad_ssl/servers/cert.c \ - -BAD_SSL_CERT_SERVER_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BAD_SSL_CERT_SERVER_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/bad_ssl_cert_server: openssl_dep_error - -else +H2_UCHANNEL_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_uchannel.c \ +H2_UCHANNEL_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UCHANNEL_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/bad_ssl_cert_server: $(BAD_SSL_CERT_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_uchannel_nosec_test: $(H2_UCHANNEL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(BAD_SSL_CERT_SERVER_OBJS) $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bad_ssl_cert_server - -endif + $(Q) $(LD) $(LDFLAGS) $(H2_UCHANNEL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_uchannel_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/bad_ssl/servers/cert.o: $(LIBDIR)/$(CONFIG)/libbad_ssl_test_server.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uchannel.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_bad_ssl_cert_server: $(BAD_SSL_CERT_SERVER_OBJS:.o=.dep) +deps_h2_uchannel_nosec_test: $(H2_UCHANNEL_NOSEC_TEST_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(BAD_SSL_CERT_SERVER_OBJS:.o=.dep) -endif +-include $(H2_UCHANNEL_NOSEC_TEST_OBJS:.o=.dep) endif -BAD_SSL_ALPN_TEST_SRC = \ - test/core/bad_ssl/bad_ssl_test.c \ - -BAD_SSL_ALPN_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BAD_SSL_ALPN_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/bad_ssl_alpn_test: openssl_dep_error - -else +H2_UDS_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_uds.c \ +H2_UDS_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UDS_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/bad_ssl_alpn_test: $(BAD_SSL_ALPN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_uds_nosec_test: $(H2_UDS_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(BAD_SSL_ALPN_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bad_ssl_alpn_test - -endif + $(Q) $(LD) $(LDFLAGS) $(H2_UDS_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_uds_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/bad_ssl/bad_ssl_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uds.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_bad_ssl_alpn_test: $(BAD_SSL_ALPN_TEST_OBJS:.o=.dep) +deps_h2_uds_nosec_test: $(H2_UDS_NOSEC_TEST_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(BAD_SSL_ALPN_TEST_OBJS:.o=.dep) -endif +-include $(H2_UDS_NOSEC_TEST_OBJS:.o=.dep) endif -BAD_SSL_CERT_TEST_SRC = \ - test/core/bad_ssl/bad_ssl_test.c \ - -BAD_SSL_CERT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(BAD_SSL_CERT_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/bad_ssl_cert_test: openssl_dep_error - -else +H2_UDS+POLL_NOSEC_TEST_SRC = \ + test/core/end2end/fixtures/h2_uds+poll.c \ +H2_UDS+POLL_NOSEC_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(H2_UDS+POLL_NOSEC_TEST_SRC)))) -$(BINDIR)/$(CONFIG)/bad_ssl_cert_test: $(BAD_SSL_CERT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(BINDIR)/$(CONFIG)/h2_uds+poll_nosec_test: $(H2_UDS+POLL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(E) "[LD] Linking $@" $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(BAD_SSL_CERT_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/bad_ssl_cert_test - -endif + $(Q) $(LD) $(LDFLAGS) $(H2_UDS+POLL_NOSEC_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) -o $(BINDIR)/$(CONFIG)/h2_uds+poll_nosec_test -$(OBJDIR)/$(CONFIG)/test/core/bad_ssl/bad_ssl_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a +$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_uds+poll.o: $(LIBDIR)/$(CONFIG)/libend2end_nosec_tests.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util_unsecure.a $(LIBDIR)/$(CONFIG)/libgrpc_unsecure.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_bad_ssl_cert_test: $(BAD_SSL_CERT_TEST_OBJS:.o=.dep) +deps_h2_uds+poll_nosec_test: $(H2_UDS+POLL_NOSEC_TEST_OBJS:.o=.dep) -ifneq ($(NO_SECURE),true) ifneq ($(NO_DEPS),true) --include $(BAD_SSL_CERT_TEST_OBJS:.o=.dep) -endif +-include $(H2_UDS+POLL_NOSEC_TEST_OBJS:.o=.dep) endif diff --git a/PYTHON-MANIFEST.in b/PYTHON-MANIFEST.in index 02bd9b5229415f91cbad93350ffdbc655d3d3aab..52ef1aba5b33d3454ac60fae4b99251a9169287f 100644 --- a/PYTHON-MANIFEST.in +++ b/PYTHON-MANIFEST.in @@ -3,6 +3,7 @@ graft src/python/grpcio/tests graft src/core graft include/grpc graft third_party/boringssl +graft third_party/zlib include src/python/grpcio/commands.py include src/python/grpcio/grpc_core_dependencies.py include src/python/grpcio/README.rst diff --git a/binding.gyp b/binding.gyp index a5e993353c9557b44a820acb3236c81c1b6611c6..f6d60b975801206760bdbba2764383990047e390 100644 --- a/binding.gyp +++ b/binding.gyp @@ -312,6 +312,7 @@ 'src/core/census/context.c', 'src/core/census/initialize.c', 'src/core/census/operation.c', + 'src/core/census/tag_set.c', 'src/core/census/tracing.c', ], "conditions": [ diff --git a/build.yaml b/build.yaml index 70a8dee7bb0463f4a6545584ae6e2ab66f5f1833..500ec855ae40948e9c0e64c2ae149bfb193d94be 100644 --- a/build.yaml +++ b/build.yaml @@ -20,6 +20,7 @@ filegroups: - src/core/census/context.c - src/core/census/initialize.c - src/core/census/operation.c + - src/core/census/tag_set.c - src/core/census/tracing.c - name: grpc++_base public_headers: @@ -773,10 +774,10 @@ libs: - test/cpp/util/benchmark_config.h src: - src/proto/grpc/testing/messages.proto - - src/proto/grpc/testing/control.proto - src/proto/grpc/testing/payloads.proto - - src/proto/grpc/testing/services.proto - src/proto/grpc/testing/stats.proto + - src/proto/grpc/testing/control.proto + - src/proto/grpc/testing/services.proto - src/proto/grpc/testing/perf_db.proto - test/cpp/qps/client_async.cc - test/cpp/qps/client_sync.cc @@ -922,6 +923,7 @@ targets: - gpr_test_util - gpr - name: dualstack_socket_test + cpu_cost: 0.1 build: test language: c src: @@ -996,6 +998,7 @@ targets: - gpr_test_util - gpr - name: fling_stream_test + cpu_cost: 2 build: test language: c src: @@ -1010,6 +1013,7 @@ targets: - linux - posix - name: fling_test + cpu_cost: 2 build: test language: c src: @@ -1118,6 +1122,7 @@ targets: - gpr_test_util - gpr - name: gpr_stack_lockfree_test + cpu_cost: 10 build: test language: c src: @@ -1134,6 +1139,7 @@ targets: - gpr_test_util - gpr - name: gpr_sync_test + cpu_cost: 10 build: test language: c src: @@ -1142,6 +1148,7 @@ targets: - gpr_test_util - gpr - name: gpr_thd_test + cpu_cost: 10 build: test language: c src: @@ -1368,6 +1375,7 @@ targets: - gpr_test_util - gpr - name: httpcli_test + cpu_cost: 0.5 build: test language: c src: @@ -1382,6 +1390,7 @@ targets: - linux - posix - name: httpscli_test + cpu_cost: 0.5 build: test language: c src: @@ -1463,6 +1472,7 @@ targets: - gpr_test_util - gpr - name: lb_policies_test + cpu_cost: 0.1 build: test language: c src: @@ -1515,6 +1525,7 @@ targets: - gpr_test_util - gpr - name: no_server_test + cpu_cost: 0.1 build: test language: c src: @@ -1575,6 +1586,7 @@ targets: - gpr_test_util - gpr - name: set_initial_connect_string_test + cpu_cost: 0.1 build: test language: c src: @@ -1619,7 +1631,18 @@ targets: - mac - linux - posix +- name: tag_set_test + build: test + language: c + src: + - test/core/census/tag_set_test.c + deps: + - grpc_test_util + - grpc + - gpr_test_util + - gpr - name: tcp_client_posix_test + cpu_cost: 0.5 build: test language: c src: @@ -1634,6 +1657,7 @@ targets: - linux - posix - name: tcp_posix_test + cpu_cost: 0.5 build: test language: c src: @@ -1863,6 +1887,7 @@ targets: - gpr_test_util - gpr - name: client_crash_test + cpu_cost: 0.1 build: test language: c++ src: @@ -1941,6 +1966,7 @@ targets: - gpr_test_util - gpr - name: end2end_test + cpu_cost: 0.5 build: test language: c++ src: @@ -2084,6 +2110,7 @@ targets: - linux - posix - name: interop_test + cpu_cost: 0.1 build: test language: c++ src: @@ -2175,6 +2202,7 @@ targets: - linux - posix - name: qps_test + cpu_cost: 10 build: test language: c++ src: @@ -2277,6 +2305,7 @@ targets: - linux - posix - name: server_crash_test + cpu_cost: 0.1 build: test language: c++ src: @@ -2405,6 +2434,7 @@ targets: - linux - posix - name: thread_stress_test + cpu_cost: 100 build: test language: c++ src: @@ -2462,6 +2492,112 @@ vspackages: props: false redist: false version: 1.7.0.1 +configs: + asan: + CC: clang + CFLAGS: -O0 -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument + CXX: clang++ + CXXFLAGS: -O0 -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument + LD: clang + LDFLAGS: -fsanitize=address + LDXX: clang++ + compile_the_world: true + test_environ: + ASAN_OPTIONS: suppressions=tools/asan_suppressions.txt:detect_leaks=1:color=always + LSAN_OPTIONS: suppressions=tools/asan_suppressions.txt:report_objects=1 + timeout_multiplier: 1.5 + asan-noleaks: + CC: clang + CFLAGS: -O0 -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument + CXX: clang++ + CXXFLAGS: -O0 -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument + LD: clang + LDFLAGS: -fsanitize=address + LDXX: clang++ + compile_the_world: true + test_environ: + ASAN_OPTIONS: detect_leaks=0:color=always + timeout_multiplier: 1.5 + basicprof: + CPPFLAGS: -O2 -DGRPC_BASIC_PROFILER -DGRPC_TIMERS_RDTSC + DEFINES: NDEBUG + dbg: + CPPFLAGS: -O0 + DEFINES: _DEBUG DEBUG + LDFLAGS: -rdynamic + gcov: + CC: gcc + CFLAGS: -O0 -fprofile-arcs -ftest-coverage -Wno-return-type + CXX: g++ + CXXFLAGS: -O0 -fprofile-arcs -ftest-coverage -Wno-return-type + DEFINES: _DEBUG DEBUG GPR_GCOV + LD: gcc + LDFLAGS: -fprofile-arcs -ftest-coverage -rdynamic + LDXX: g++ + helgrind: + CPPFLAGS: -O0 + DEFINES: _DEBUG DEBUG + LDFLAGS: -rdynamic + timeout_multiplier: 20 + valgrind: --tool=helgrind + memcheck: + CPPFLAGS: -O0 + DEFINES: _DEBUG DEBUG + LDFLAGS: -rdynamic + timeout_multiplier: 10 + valgrind: --tool=memcheck --leak-check=full + msan: + CC: clang + CFLAGS: -O0 -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer + -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-command-line-argument + -fPIE -pie + CXX: clang++ + CXXFLAGS: -O0 -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer + -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-command-line-argument + -fPIE -pie + DEFINES: NDEBUG + LD: clang + LDFLAGS: -fsanitize=memory -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 + -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,) + LDXX: clang++ + compile_the_world: true + timeout_multiplier: 1.5 + mutrace: + CPPFLAGS: -O0 + DEFINES: _DEBUG DEBUG + LDFLAGS: -rdynamic + opt: + CPPFLAGS: -O2 + DEFINES: NDEBUG + LDFLAGS: -rdynamic + stapprof: + CPPFLAGS: -O2 -DGRPC_STAP_PROFILER + DEFINES: NDEBUG + tsan: + CC: clang + CFLAGS: -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument + -fPIE -pie + CXX: clang++ + CXXFLAGS: -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument + -fPIE -pie + LD: clang + LDFLAGS: -fsanitize=thread -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,) + LDXX: clang++ + compile_the_world: true + test_environ: + TSAN_OPTIONS: suppressions=tools/tsan_suppressions.txt:halt_on_error=1:second_deadlock_stack=1 + timeout_multiplier: 2 + ubsan: + CC: clang + CFLAGS: -O1 -fsanitize=undefined -fno-omit-frame-pointer -Wno-unused-command-line-argument + CXX: clang++ + CXXFLAGS: -O1 -fsanitize=undefined -fno-omit-frame-pointer -Wno-unused-command-line-argument + DEFINES: NDEBUG + LD: clang + LDFLAGS: -fsanitize=undefined + LDXX: clang++ + compile_the_world: true + timeout_multiplier: 1.5 node_modules: - deps: - grpc @@ -2500,3 +2636,4 @@ python_dependencies: - grpc - gpr - boringssl + - z diff --git a/doc/interop-test-descriptions.md b/doc/interop-test-descriptions.md index 53cc47b1f8379677f0ed89811915f03b2983cd77..e618e967ee059c9aa88ad0f2d126354cc8d2a2e7 100644 --- a/doc/interop-test-descriptions.md +++ b/doc/interop-test-descriptions.md @@ -471,7 +471,7 @@ with desired oauth scope. The test uses `--default_service_account` with GCE service account email and `--oauth_scope` with the OAuth scope to use. For testing against -grpc-test.sandbox.google.com, "https://www.googleapis.com/auth/xapi.zoo" should +grpc-test.sandbox.googleapis.com, "https://www.googleapis.com/auth/xapi.zoo" should be passed in as `--oauth_scope`. Server features: @@ -568,7 +568,7 @@ variable GOOGLE_APPLICATION_CREDENTIALS, *OR* if GCE credentials is used to fetch the token, `--default_service_account` can be used to pass in GCE service account email. - uses the flag `--oauth_scope` for the oauth scope. For testing against -grpc-test.sandbox.google.com, "https://www.googleapis.com/auth/xapi.zoo" should +grpc-test.sandbox.googleapis.com, "https://www.googleapis.com/auth/xapi.zoo" should be passed as the `--oauth_scope`. Server features: @@ -610,7 +610,7 @@ usable auth implementation, it may specify the file location in the environment variable GOOGLE_APPLICATION_CREDENTIALS - optionally uses the flag `--oauth_scope` for the oauth scope if implementator wishes to use service account credential instead of JWT credential. For testing -against grpc-test.sandbox.google.com, oauth scope +against grpc-test.sandbox.googleapis.com, oauth scope "https://www.googleapis.com/auth/xapi.zoo" should be used. Server features: @@ -1033,7 +1033,7 @@ authenticated via OAuth, then the SimpleResponse should have oauth_scope filled with the scope of the method being invoked. Although a general server-side feature, most test servers won't implement this -feature. The TLS server grpc-test.sandbox.google.com:443 supports this feature. +feature. The TLS server grpc-test.sandbox.googleapis.com:443 supports this feature. It requires at least the OAuth scope `https://www.googleapis.com/auth/xapi.zoo` for authentication to succeed. diff --git a/examples/csharp/helloworld/.nuget/packages.config b/examples/csharp/helloworld/.nuget/packages.config index 1c1f118d4660f1d54426cf6e60341237fe621fdc..1cbe7e1d65ffdc21cef806cb81315acd267de100 100644 --- a/examples/csharp/helloworld/.nuget/packages.config +++ b/examples/csharp/helloworld/.nuget/packages.config @@ -1,4 +1,4 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Grpc.Tools" version="0.7.1" /> + <package id="Grpc.Tools" version="0.12.0" /> </packages> \ No newline at end of file diff --git a/examples/csharp/helloworld/Greeter/Greeter.csproj b/examples/csharp/helloworld/Greeter/Greeter.csproj index 2ae8620267f8ab72e6110e91d3489bd28d5be313..fa1c20f5ff4cddc2339e5a708dd1b16b15f8c0a8 100644 --- a/examples/csharp/helloworld/Greeter/Greeter.csproj +++ b/examples/csharp/helloworld/Greeter/Greeter.csproj @@ -1,8 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props" Condition="Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props')" /> - <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props')" /> - <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -13,7 +10,7 @@ <RootNamespace>Greeter</RootNamespace> <AssemblyName>Greeter</AssemblyName> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <NuGetPackageImportStamp>e423e365</NuGetPackageImportStamp> + <NuGetPackageImportStamp>4eea1d1c</NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -37,9 +34,8 @@ <Reference Include="Google.Protobuf"> <HintPath>..\packages\Google.Protobuf.3.0.0-alpha4\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> </Reference> - <Reference Include="Grpc.Core, Version=0.7.1.0, Culture=neutral, PublicKeyToken=d754f35622e28bad, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Grpc.Core.0.7.1\lib\net45\Grpc.Core.dll</HintPath> + <Reference Include="Grpc.Core"> + <HintPath>..\packages\Grpc.Core.0.12.0\lib\net45\Grpc.Core.dll</HintPath> </Reference> <Reference Include="System" /> <Reference Include="System.Interactive.Async"> @@ -57,18 +53,15 @@ <None Include="protos\helloworld.proto" /> </ItemGroup> <ItemGroup /> + <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets'))" /> - <Error Condition="!Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props'))" /> - <Error Condition="!Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets'))" /> </Target> - <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" /> - <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets')" /> - <Import Project="..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets" Condition="Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets')" /> + <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets')" /> + <Import Project="..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets" Condition="Exists('..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets')" /> </Project> \ No newline at end of file diff --git a/examples/csharp/helloworld/Greeter/packages.config b/examples/csharp/helloworld/Greeter/packages.config index c0f73879160e59dfa4f6d5039908615a71e9d883..cabcadc78f2a7119945c60e53a1ea4feb0573999 100644 --- a/examples/csharp/helloworld/Greeter/packages.config +++ b/examples/csharp/helloworld/Greeter/packages.config @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Google.Protobuf" version="3.0.0-alpha4" targetFramework="net45" /> - <package id="Grpc" version="0.7.1" targetFramework="net45" /> - <package id="Grpc.Core" version="0.7.1" targetFramework="net45" /> - <package id="grpc.dependencies.openssl.redist" version="1.0.2.3" targetFramework="net45" /> - <package id="grpc.dependencies.zlib.redist" version="1.2.8.9" targetFramework="net45" /> - <package id="grpc.native.csharp_ext" version="0.11.1" targetFramework="net45" /> + <package id="Grpc" version="0.12.0" targetFramework="net45" /> + <package id="Grpc.Core" version="0.12.0" targetFramework="net45" /> + <package id="grpc.dependencies.openssl.redist" version="1.0.204.1" targetFramework="net45" /> + <package id="grpc.dependencies.zlib.redist" version="1.2.8.10" targetFramework="net45" /> + <package id="grpc.native.csharp" version="0.12.0" targetFramework="net45" /> <package id="Ix-Async" version="1.2.3" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/examples/csharp/helloworld/GreeterClient/GreeterClient.csproj b/examples/csharp/helloworld/GreeterClient/GreeterClient.csproj index af330f2b90527b5f007692cedee91dae1242ce3d..164a6165eff1b941fc6fee959b6c8b134e65a7e1 100644 --- a/examples/csharp/helloworld/GreeterClient/GreeterClient.csproj +++ b/examples/csharp/helloworld/GreeterClient/GreeterClient.csproj @@ -1,8 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props" Condition="Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props')" /> - <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props')" /> - <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -13,7 +10,7 @@ <RootNamespace>GreeterClient</RootNamespace> <AssemblyName>GreeterClient</AssemblyName> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <NuGetPackageImportStamp>2dcf22af</NuGetPackageImportStamp> + <NuGetPackageImportStamp>29206d49</NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -37,9 +34,8 @@ <Reference Include="Google.Protobuf"> <HintPath>..\packages\Google.Protobuf.3.0.0-alpha4\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> </Reference> - <Reference Include="Grpc.Core, Version=0.7.1.0, Culture=neutral, PublicKeyToken=d754f35622e28bad, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Grpc.Core.0.7.1\lib\net45\Grpc.Core.dll</HintPath> + <Reference Include="Grpc.Core"> + <HintPath>..\packages\Grpc.Core.0.12.0\lib\net45\Grpc.Core.dll</HintPath> </Reference> <Reference Include="System" /> <Reference Include="System.Interactive.Async"> @@ -60,18 +56,15 @@ <ItemGroup> <None Include="packages.config" /> </ItemGroup> + <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets'))" /> - <Error Condition="!Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props'))" /> - <Error Condition="!Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets'))" /> </Target> - <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" /> - <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets')" /> - <Import Project="..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets" Condition="Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets')" /> + <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets')" /> + <Import Project="..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets" Condition="Exists('..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets')" /> </Project> \ No newline at end of file diff --git a/examples/csharp/helloworld/GreeterClient/Program.cs b/examples/csharp/helloworld/GreeterClient/Program.cs index 2749a92036cca2288cec75fa832130910f348a76..ffc7fabbf12ac68ef39474203dcc261c08ddbe4c 100644 --- a/examples/csharp/helloworld/GreeterClient/Program.cs +++ b/examples/csharp/helloworld/GreeterClient/Program.cs @@ -1,4 +1,4 @@ -// Copyright 2015, Google Inc. +// Copyright 2015-2016, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -37,7 +37,7 @@ namespace GreeterClient { public static void Main(string[] args) { - Channel channel = new Channel("127.0.0.1:50051", Credentials.Insecure); + Channel channel = new Channel("127.0.0.1:50051", ChannelCredentials.Insecure); var client = Greeter.NewClient(channel); String user = "you"; diff --git a/examples/csharp/helloworld/GreeterClient/packages.config b/examples/csharp/helloworld/GreeterClient/packages.config index c0f73879160e59dfa4f6d5039908615a71e9d883..cabcadc78f2a7119945c60e53a1ea4feb0573999 100644 --- a/examples/csharp/helloworld/GreeterClient/packages.config +++ b/examples/csharp/helloworld/GreeterClient/packages.config @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Google.Protobuf" version="3.0.0-alpha4" targetFramework="net45" /> - <package id="Grpc" version="0.7.1" targetFramework="net45" /> - <package id="Grpc.Core" version="0.7.1" targetFramework="net45" /> - <package id="grpc.dependencies.openssl.redist" version="1.0.2.3" targetFramework="net45" /> - <package id="grpc.dependencies.zlib.redist" version="1.2.8.9" targetFramework="net45" /> - <package id="grpc.native.csharp_ext" version="0.11.1" targetFramework="net45" /> + <package id="Grpc" version="0.12.0" targetFramework="net45" /> + <package id="Grpc.Core" version="0.12.0" targetFramework="net45" /> + <package id="grpc.dependencies.openssl.redist" version="1.0.204.1" targetFramework="net45" /> + <package id="grpc.dependencies.zlib.redist" version="1.2.8.10" targetFramework="net45" /> + <package id="grpc.native.csharp" version="0.12.0" targetFramework="net45" /> <package id="Ix-Async" version="1.2.3" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/examples/csharp/helloworld/GreeterServer/GreeterServer.csproj b/examples/csharp/helloworld/GreeterServer/GreeterServer.csproj index 752f32828b02a0f3d6b1a069f10a7b6d05c78131..56436d3834cf01c04092232277dec5299ac8b77c 100644 --- a/examples/csharp/helloworld/GreeterServer/GreeterServer.csproj +++ b/examples/csharp/helloworld/GreeterServer/GreeterServer.csproj @@ -1,8 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props" Condition="Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props')" /> - <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props')" /> - <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> @@ -13,7 +10,7 @@ <RootNamespace>GreeterServer</RootNamespace> <AssemblyName>GreeterServer</AssemblyName> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <NuGetPackageImportStamp>53a3a588</NuGetPackageImportStamp> + <NuGetPackageImportStamp>8a2cae0f</NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -37,9 +34,8 @@ <Reference Include="Google.Protobuf"> <HintPath>..\packages\Google.Protobuf.3.0.0-alpha4\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> </Reference> - <Reference Include="Grpc.Core, Version=0.7.1.0, Culture=neutral, PublicKeyToken=d754f35622e28bad, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Grpc.Core.0.7.1\lib\net45\Grpc.Core.dll</HintPath> + <Reference Include="Grpc.Core"> + <HintPath>..\packages\Grpc.Core.0.12.0\lib\net45\Grpc.Core.dll</HintPath> </Reference> <Reference Include="System" /> <Reference Include="System.Interactive.Async"> @@ -60,18 +56,15 @@ <ItemGroup> <None Include="packages.config" /> </ItemGroup> + <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets'))" /> - <Error Condition="!Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props'))" /> - <Error Condition="!Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets'))" /> </Target> - <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" /> - <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets')" /> - <Import Project="..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets" Condition="Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets')" /> + <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets')" /> + <Import Project="..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets" Condition="Exists('..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets')" /> </Project> \ No newline at end of file diff --git a/examples/csharp/helloworld/GreeterServer/packages.config b/examples/csharp/helloworld/GreeterServer/packages.config index c0f73879160e59dfa4f6d5039908615a71e9d883..cabcadc78f2a7119945c60e53a1ea4feb0573999 100644 --- a/examples/csharp/helloworld/GreeterServer/packages.config +++ b/examples/csharp/helloworld/GreeterServer/packages.config @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Google.Protobuf" version="3.0.0-alpha4" targetFramework="net45" /> - <package id="Grpc" version="0.7.1" targetFramework="net45" /> - <package id="Grpc.Core" version="0.7.1" targetFramework="net45" /> - <package id="grpc.dependencies.openssl.redist" version="1.0.2.3" targetFramework="net45" /> - <package id="grpc.dependencies.zlib.redist" version="1.2.8.9" targetFramework="net45" /> - <package id="grpc.native.csharp_ext" version="0.11.1" targetFramework="net45" /> + <package id="Grpc" version="0.12.0" targetFramework="net45" /> + <package id="Grpc.Core" version="0.12.0" targetFramework="net45" /> + <package id="grpc.dependencies.openssl.redist" version="1.0.204.1" targetFramework="net45" /> + <package id="grpc.dependencies.zlib.redist" version="1.2.8.10" targetFramework="net45" /> + <package id="grpc.native.csharp" version="0.12.0" targetFramework="net45" /> <package id="Ix-Async" version="1.2.3" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/examples/csharp/helloworld/generate_protos.bat b/examples/csharp/helloworld/generate_protos.bat index 9a5a9d3ee395df66b20f2d6eccf178c7ebfc173e..8ba2c2e936fa779fd5ae833679967783a7673cbb 100644 --- a/examples/csharp/helloworld/generate_protos.bat +++ b/examples/csharp/helloworld/generate_protos.bat @@ -5,6 +5,6 @@ setlocal @rem enter this directory cd /d %~dp0 -packages\Google.Protobuf.3.0.0-alpha4\tools\protoc.exe -I../../protos --csharp_out Greeter ../../protos/helloworld.proto --grpc_out Greeter --plugin=protoc-gen-grpc=packages\Grpc.Tools.0.7.0\tools\grpc_csharp_plugin.exe +packages\Google.Protobuf.3.0.0-alpha4\tools\protoc.exe -I../../protos --csharp_out Greeter ../../protos/helloworld.proto --grpc_out Greeter --plugin=protoc-gen-grpc=packages\Grpc.Tools.0.12.0\tools\grpc_csharp_plugin.exe endlocal \ No newline at end of file diff --git a/examples/csharp/route_guide/.nuget/packages.config b/examples/csharp/route_guide/.nuget/packages.config index 1c1f118d4660f1d54426cf6e60341237fe621fdc..1cbe7e1d65ffdc21cef806cb81315acd267de100 100644 --- a/examples/csharp/route_guide/.nuget/packages.config +++ b/examples/csharp/route_guide/.nuget/packages.config @@ -1,4 +1,4 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Grpc.Tools" version="0.7.1" /> + <package id="Grpc.Tools" version="0.12.0" /> </packages> \ No newline at end of file diff --git a/examples/csharp/route_guide/RouteGuide/RouteGuide.csproj b/examples/csharp/route_guide/RouteGuide/RouteGuide.csproj index d8f3c8f91d10f73bb00f2b5c594f2b6f3d3991d1..3a2a29cface182483fa8a2451d655be521ee1d8b 100644 --- a/examples/csharp/route_guide/RouteGuide/RouteGuide.csproj +++ b/examples/csharp/route_guide/RouteGuide/RouteGuide.csproj @@ -1,8 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props" Condition="Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props')" /> - <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props')" /> - <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> @@ -14,7 +11,7 @@ <AssemblyName>RouteGuide</AssemblyName> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> - <NuGetPackageImportStamp>256a7eeb</NuGetPackageImportStamp> + <NuGetPackageImportStamp>68b3dd23</NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -37,9 +34,8 @@ <Reference Include="Google.Protobuf"> <HintPath>..\packages\Google.Protobuf.3.0.0-alpha4\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> </Reference> - <Reference Include="Grpc.Core, Version=0.7.1.0, Culture=neutral, PublicKeyToken=d754f35622e28bad, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Grpc.Core.0.7.1\lib\net45\Grpc.Core.dll</HintPath> + <Reference Include="Grpc.Core"> + <HintPath>..\packages\Grpc.Core.0.12.0\lib\net45\Grpc.Core.dll</HintPath> </Reference> <Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> @@ -69,20 +65,17 @@ </None> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets'))" /> - <Error Condition="!Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props'))" /> - <Error Condition="!Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets'))" /> </Target> - <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" /> - <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets')" /> - <Import Project="..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets" Condition="Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets')" /> + <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets')" /> + <Import Project="..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets" Condition="Exists('..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets')" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> diff --git a/examples/csharp/route_guide/RouteGuide/packages.config b/examples/csharp/route_guide/RouteGuide/packages.config index 22d34981e5938d0f02a3c2e8751250fbad5f8689..87173151026cf0e844e4988866dc636431dcdd31 100644 --- a/examples/csharp/route_guide/RouteGuide/packages.config +++ b/examples/csharp/route_guide/RouteGuide/packages.config @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Google.Protobuf" version="3.0.0-alpha4" targetFramework="net45" /> - <package id="Grpc" version="0.7.1" targetFramework="net45" /> - <package id="Grpc.Core" version="0.7.1" targetFramework="net45" /> - <package id="grpc.dependencies.openssl.redist" version="1.0.2.3" targetFramework="net45" /> - <package id="grpc.dependencies.zlib.redist" version="1.2.8.9" targetFramework="net45" /> - <package id="grpc.native.csharp_ext" version="0.11.1" targetFramework="net45" /> + <package id="Grpc" version="0.12.0" targetFramework="net45" /> + <package id="Grpc.Core" version="0.12.0" targetFramework="net45" /> + <package id="grpc.dependencies.openssl.redist" version="1.0.204.1" targetFramework="net45" /> + <package id="grpc.dependencies.zlib.redist" version="1.2.8.10" targetFramework="net45" /> + <package id="grpc.native.csharp" version="0.12.0" targetFramework="net45" /> <package id="Ix-Async" version="1.2.3" targetFramework="net45" /> <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/examples/csharp/route_guide/RouteGuideClient/Program.cs b/examples/csharp/route_guide/RouteGuideClient/Program.cs index 71e58877d72617fa782ea4f0ed6e8e07d2d148b2..22395dd21d523e46b3c6314a41e6a55a0ae934e3 100644 --- a/examples/csharp/route_guide/RouteGuideClient/Program.cs +++ b/examples/csharp/route_guide/RouteGuideClient/Program.cs @@ -1,4 +1,4 @@ -// Copyright 2015, Google Inc. +// Copyright 2015-2016, Google Inc. // All rights reserved. // // Redistribution and use in source and binary forms, with or without @@ -230,7 +230,7 @@ namespace Routeguide static void Main(string[] args) { - var channel = new Channel("127.0.0.1:50052", Credentials.Insecure); + var channel = new Channel("127.0.0.1:50052", ChannelCredentials.Insecure); var client = new RouteGuideClient(RouteGuide.NewClient(channel)); // Looking for a valid feature diff --git a/examples/csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj b/examples/csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj index f08f0ef43ae39e5a8cac5ccaced984f1659458ca..89e5025df838ffcbbcf546abe6ca01d81d58a8ee 100644 --- a/examples/csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj +++ b/examples/csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj @@ -1,8 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props" Condition="Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props')" /> - <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props')" /> - <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> @@ -14,7 +11,7 @@ <AssemblyName>RouteGuideClient</AssemblyName> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> - <NuGetPackageImportStamp>d40daa42</NuGetPackageImportStamp> + <NuGetPackageImportStamp>f5579f73</NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> @@ -39,9 +36,8 @@ <Reference Include="Google.Protobuf"> <HintPath>..\packages\Google.Protobuf.3.0.0-alpha4\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> </Reference> - <Reference Include="Grpc.Core, Version=0.7.1.0, Culture=neutral, PublicKeyToken=d754f35622e28bad, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Grpc.Core.0.7.1\lib\net45\Grpc.Core.dll</HintPath> + <Reference Include="Grpc.Core"> + <HintPath>..\packages\Grpc.Core.0.12.0\lib\net45\Grpc.Core.dll</HintPath> </Reference> <Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> @@ -72,20 +68,17 @@ </ProjectReference> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets'))" /> - <Error Condition="!Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props'))" /> - <Error Condition="!Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets'))" /> </Target> - <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" /> - <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets')" /> - <Import Project="..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets" Condition="Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets')" /> + <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets')" /> + <Import Project="..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets" Condition="Exists('..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets')" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> diff --git a/examples/csharp/route_guide/RouteGuideClient/packages.config b/examples/csharp/route_guide/RouteGuideClient/packages.config index 22d34981e5938d0f02a3c2e8751250fbad5f8689..87173151026cf0e844e4988866dc636431dcdd31 100644 --- a/examples/csharp/route_guide/RouteGuideClient/packages.config +++ b/examples/csharp/route_guide/RouteGuideClient/packages.config @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Google.Protobuf" version="3.0.0-alpha4" targetFramework="net45" /> - <package id="Grpc" version="0.7.1" targetFramework="net45" /> - <package id="Grpc.Core" version="0.7.1" targetFramework="net45" /> - <package id="grpc.dependencies.openssl.redist" version="1.0.2.3" targetFramework="net45" /> - <package id="grpc.dependencies.zlib.redist" version="1.2.8.9" targetFramework="net45" /> - <package id="grpc.native.csharp_ext" version="0.11.1" targetFramework="net45" /> + <package id="Grpc" version="0.12.0" targetFramework="net45" /> + <package id="Grpc.Core" version="0.12.0" targetFramework="net45" /> + <package id="grpc.dependencies.openssl.redist" version="1.0.204.1" targetFramework="net45" /> + <package id="grpc.dependencies.zlib.redist" version="1.2.8.10" targetFramework="net45" /> + <package id="grpc.native.csharp" version="0.12.0" targetFramework="net45" /> <package id="Ix-Async" version="1.2.3" targetFramework="net45" /> <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/examples/csharp/route_guide/RouteGuideServer/RouteGuideServer.csproj b/examples/csharp/route_guide/RouteGuideServer/RouteGuideServer.csproj index f22b4e5653b45efaecdf8b4430bbd771af105dc1..2e930625c42c403e22de636be5ee4a0f94822106 100644 --- a/examples/csharp/route_guide/RouteGuideServer/RouteGuideServer.csproj +++ b/examples/csharp/route_guide/RouteGuideServer/RouteGuideServer.csproj @@ -1,8 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props" Condition="Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props')" /> - <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props')" /> - <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> @@ -14,7 +11,7 @@ <AssemblyName>RouteGuideServer</AssemblyName> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <FileAlignment>512</FileAlignment> - <NuGetPackageImportStamp>e44ce7bb</NuGetPackageImportStamp> + <NuGetPackageImportStamp>89e15444</NuGetPackageImportStamp> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> @@ -39,9 +36,8 @@ <Reference Include="Google.Protobuf"> <HintPath>..\packages\Google.Protobuf.3.0.0-alpha4\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> </Reference> - <Reference Include="Grpc.Core, Version=0.7.1.0, Culture=neutral, PublicKeyToken=d754f35622e28bad, processorArchitecture=MSIL"> - <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Grpc.Core.0.7.1\lib\net45\Grpc.Core.dll</HintPath> + <Reference Include="Grpc.Core"> + <HintPath>..\packages\Grpc.Core.0.12.0\lib\net45\Grpc.Core.dll</HintPath> </Reference> <Reference Include="Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> @@ -73,20 +69,17 @@ </ProjectReference> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> + <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets')" /> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> - <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.props'))" /> - <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets'))" /> - <Error Condition="!Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.props'))" /> - <Error Condition="!Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.zlib.redist.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets'))" /> + <Error Condition="!Exists('..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets'))" /> </Target> - <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" /> - <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.3\build\portable-net45\grpc.dependencies.openssl.redist.targets')" /> - <Import Project="..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets" Condition="Exists('..\packages\grpc.native.csharp_ext.0.11.1\build\portable-net45\grpc.native.csharp_ext.targets')" /> + <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\portable-net45+netcore45+wpa81+wp8\grpc.dependencies.openssl.redist.targets')" /> + <Import Project="..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets" Condition="Exists('..\packages\grpc.native.csharp.0.12.0\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets')" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> diff --git a/examples/csharp/route_guide/RouteGuideServer/packages.config b/examples/csharp/route_guide/RouteGuideServer/packages.config index 22d34981e5938d0f02a3c2e8751250fbad5f8689..87173151026cf0e844e4988866dc636431dcdd31 100644 --- a/examples/csharp/route_guide/RouteGuideServer/packages.config +++ b/examples/csharp/route_guide/RouteGuideServer/packages.config @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="Google.Protobuf" version="3.0.0-alpha4" targetFramework="net45" /> - <package id="Grpc" version="0.7.1" targetFramework="net45" /> - <package id="Grpc.Core" version="0.7.1" targetFramework="net45" /> - <package id="grpc.dependencies.openssl.redist" version="1.0.2.3" targetFramework="net45" /> - <package id="grpc.dependencies.zlib.redist" version="1.2.8.9" targetFramework="net45" /> - <package id="grpc.native.csharp_ext" version="0.11.1" targetFramework="net45" /> + <package id="Grpc" version="0.12.0" targetFramework="net45" /> + <package id="Grpc.Core" version="0.12.0" targetFramework="net45" /> + <package id="grpc.dependencies.openssl.redist" version="1.0.204.1" targetFramework="net45" /> + <package id="grpc.dependencies.zlib.redist" version="1.2.8.10" targetFramework="net45" /> + <package id="grpc.native.csharp" version="0.12.0" targetFramework="net45" /> <package id="Ix-Async" version="1.2.3" targetFramework="net45" /> <package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/examples/csharp/route_guide/generate_protos.bat b/examples/csharp/route_guide/generate_protos.bat index fb0dc5516b56b87f32925be86a31e3830eca1f0d..fad63ef0aeba4904c3387d0c72e29e337fcb201d 100644 --- a/examples/csharp/route_guide/generate_protos.bat +++ b/examples/csharp/route_guide/generate_protos.bat @@ -5,6 +5,6 @@ setlocal @rem enter this directory cd /d %~dp0 -packages\Google.Protobuf.3.0.0-alpha4\tools\protoc.exe -I../../protos --csharp_out RouteGuide ../../protos/route_guide.proto --grpc_out RouteGuide --plugin=protoc-gen-grpc=packages\Grpc.Tools.0.7.0\tools\grpc_csharp_plugin.exe +packages\Google.Protobuf.3.0.0-alpha4\tools\protoc.exe -I../../protos --csharp_out RouteGuide ../../protos/route_guide.proto --grpc_out RouteGuide --plugin=protoc-gen-grpc=packages\Grpc.Tools.0.12.0\tools\grpc_csharp_plugin.exe endlocal \ No newline at end of file diff --git a/examples/objective-c/auth_sample/MakeRPCViewController.m b/examples/objective-c/auth_sample/MakeRPCViewController.m index 4fd23dc1448c245aa7e578ab15cd2e31e6a34d5d..108eda45ba528c483c73270373d6937f3e2b0cfb 100644 --- a/examples/objective-c/auth_sample/MakeRPCViewController.m +++ b/examples/objective-c/auth_sample/MakeRPCViewController.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -39,7 +39,7 @@ NSString * const kTestScope = @"https://www.googleapis.com/auth/xapi.zoo"; -static NSString * const kTestHostAddress = @"grpc-test.sandbox.google.com"; +static NSString * const kTestHostAddress = @"grpc-test.sandbox.googleapis.com"; // Category for RPC errors to create the descriptions as we want them to appear on our view. @interface NSError (AuthSample) diff --git a/gRPC.podspec b/gRPC.podspec index 97e13c0d30dec8dd4270b6e57d094702eb2e5349..18c05e2bd449945b0e00d986690d5631f9be7156 100644 --- a/gRPC.podspec +++ b/gRPC.podspec @@ -429,6 +429,7 @@ Pod::Spec.new do |s| 'src/core/census/context.c', 'src/core/census/initialize.c', 'src/core/census/operation.c', + 'src/core/census/tag_set.c', 'src/core/census/tracing.c' ss.private_header_files = 'src/core/profiling/timers.h', diff --git a/grpc.gemspec b/grpc.gemspec index 4f3a3f2dd91b037e37424477a1d7b8018c35e772..47b66ae535de02057e6b3e5dce2b8f45200680ea 100755 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -412,5 +412,6 @@ Gem::Specification.new do |s| s.files += %w( src/core/census/context.c ) s.files += %w( src/core/census/initialize.c ) s.files += %w( src/core/census/operation.c ) + s.files += %w( src/core/census/tag_set.c ) s.files += %w( src/core/census/tracing.c ) end diff --git a/include/grpc/census.h b/include/grpc/census.h index 369827d15ee2958f33af673bd6e2a53df071bf18..f4130c7e6a1c2fd4247eafdf7b75853799d0b266 100644 --- a/include/grpc/census.h +++ b/include/grpc/census.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -324,60 +324,142 @@ int census_get_trace_record(census_trace_record *trace_record); /** End a scan previously started by census_trace_scan_start() */ void census_trace_scan_end(); -/* Max number of characters in tag key */ -#define CENSUS_MAX_TAG_KEY_LENGTH 20 -/* Max number of tag value characters */ -#define CENSUS_MAX_TAG_VALUE_LENGTH 50 - /* A Census tag set is a collection of key:value string pairs; these form the basis against which Census metrics will be recorded. Keys are unique within a tag set. All contexts have an associated tag set. */ typedef struct census_tag_set census_tag_set; -/* Returns a pointer to a newly created, empty tag set. If size_hint > 0, - indicates that the tag set is intended to hold approximately that number - of tags. */ -census_tag_set *census_tag_set_create(size_t size_hint); - -/* Add a new tag key/value to an existing tag set; if the tag key already exists - in the tag set, then its value is overwritten with the new one. Can also be - used to delete a tag, by specifying a NULL value. If key is NULL, returns - the number of tags in the tag set. - Return values: - -1: invalid length key or value - non-negative value: the number of tags in the tag set. */ -int census_tag_set_add(census_tag_set *tags, const char *key, - const char *value); - -/* Destroys a tag set. This function must be called to prevent memory leaks. - Once called, the tag set cannot be used again. */ +/* A tag is a key:value pair. The key is a non-empty, printable (UTF-8 + encoded), nil-terminated string. The value is a binary string, that may be + printable. There are limits on the sizes of both keys and values (see + CENSUS_MAX_TAG_KB_LEN definition below), and the number of tags that can be + propagated (CENSUS_MAX_PROPAGATED_TAGS). Users should also remember that + some systems may have limits on, e.g., the number of bytes that can be + transmitted as metadata, and that larger tags means more memory consumed + and time in processing. */ +typedef struct { + const char *key; + const char *value; + size_t value_len; + uint8_t flags; +} census_tag; + +/* Maximum length of a tag's key or value. */ +#define CENSUS_MAX_TAG_KV_LEN 255 +/* Maximum number of propagatable tags. */ +#define CENSUS_MAX_PROPAGATED_TAGS 255 + +/* Tag flags. */ +#define CENSUS_TAG_PROPAGATE 1 /* Tag should be propagated over RPC */ +#define CENSUS_TAG_STATS 2 /* Tag will be used for statistics aggregation */ +#define CENSUS_TAG_BINARY 4 /* Tag value is not printable */ +#define CENSUS_TAG_RESERVED 8 /* Reserved for internal use. */ +/* Flag values 8,16,32,64,128 are reserved for future/internal use. Clients + should not use or rely on their values. */ + +#define CENSUS_TAG_IS_PROPAGATED(flags) (flags & CENSUS_TAG_PROPAGATE) +#define CENSUS_TAG_IS_STATS(flags) (flags & CENSUS_TAG_STATS) +#define CENSUS_TAG_IS_BINARY(flags) (flags & CENSUS_TAG_BINARY) + +typedef struct { + int n_propagated_tags; /* number of propagated printable tags */ + int n_propagated_binary_tags; /* number of propagated binary tags */ + int n_local_tags; /* number of non-propagated (local) tags */ + int n_deleted_tags; /* number of tags that were deleted */ + int n_added_tags; /* number of tags that were added */ + int n_modified_tags; /* number of tags that were modified */ + int n_invalid_tags; /* number of tags with bad keys or values (e.g. + longer than CENSUS_MAX_TAG_KV_LEN) */ + int n_ignored_tags; /* number of tags ignored because of + CENSUS_MAX_PROPAGATED_TAGS limit. */ +} census_tag_set_create_status; + +/* Create a new tag set, adding and removing tags from an existing tag set. + This will copy all tags from it's input parameters, so it is recommended + to add as many tags in a single operation as is practical for the client. + @param base Base tag set to build upon. Can be NULL. + @param tags A set of tags to be added/changed/deleted. Tags with keys that + are in 'tags', but not 'base', are added to the tag set. Keys that are in + both 'tags' and 'base' will have their value/flags modified. Tags with keys + in both, but with NULL or zero-length values, will be deleted from the tag + set. Tags with invalid (too long or short) keys or values will be ignored. + If adding a tag will result in more than CENSUS_MAX_PROPAGATED_TAGS in either + binary or non-binary tags, they will be ignored, as will deletions of + tags that don't exist. + @param ntags number of tags in 'tags' + @param status If not NULL, will return a pointer to a + census_tag_set_create_status structure containing information about the new + tag set and status of the tags used in its creation. + @return A new, valid census_tag_set. +*/ +census_tag_set *census_tag_set_create( + const census_tag_set *base, const census_tag *tags, int ntags, + census_tag_set_create_status const **status); + +/* Destroy a tag set created by census_tag_set_create(). Once this function + has been called, the tag set cannot be reused. */ void census_tag_set_destroy(census_tag_set *tags); -/* Get a contexts tag set. */ -census_tag_set *census_context_tag_set(census_context *context); +/* Get a pointer to the original status from the creation of this tag set. */ +const census_tag_set_create_status *census_tag_set_get_create_status( + const census_tag_set *tags); -/* A read-only representation of a tag for use by census clients. */ +/* Structure used for tag set iteration. API clients should not use or + reference internal fields - neither their contents or presence/absence are + guaranteed. */ typedef struct { - size_t key_len; /* Number of bytes in tag key. */ - const char *key; /* A pointer to the tag key. May not be null-terminated. */ - size_t value_len; /* Number of bytes in tag value. */ - const char *value; /* Pointer to the tag value. May not be null-terminated. */ -} census_tag_const; - -/* Used to iterate through a tag sets contents. */ -typedef struct census_tag_set_iterator census_tag_set_iterator; - -/* Open a tag set for iteration. The tag set must not be modified while - iteration is ongoing. Returns an iterator for use in following functions. */ -census_tag_set_iterator *census_tag_set_open(census_tag_set *tags); - -/* Get the next tag in the tag set, by writing into the 'tag' argument. Returns - 1 if there is a "next" tag, 0 if there are no more tags. */ -int census_tag_set_next(census_tag_set_iterator *it, census_tag_const *tag); - -/* Close an iterator opened by census_tag_set_open(). The iterator will be - invalidated, and should not be used once close is called. */ -void census_tag_set_close(census_tag_set_iterator *it); + const census_tag_set *tags; + int base; + int index; + char *kvm; +} census_tag_set_iterator; + +/* Initialize a tag set iterator. Must be called before first use of the + iterator. */ +void census_tag_set_initialize_iterator(const census_tag_set *tags, + census_tag_set_iterator *iterator); + +/* Get the contents of the "next" tag in the tag set. If there are no more + tags in the tag set, returns 0 (and 'tag' contents will be unchanged), + otherwise returns 1. */ +int census_tag_set_next_tag(census_tag_set_iterator *iterator, census_tag *tag); + +/* Get a tag by its key. Returns 0 if the key is not present in the tag + set. */ +int census_tag_set_get_tag_by_key(const census_tag_set *tags, const char *key, + census_tag *tag); + +/* Tag set encode/decode functionality. These functionas are intended + for use by RPC systems only, for purposes of transmitting/receiving tag + sets. */ + +/* Encode a tag set into a buffer. The propagated tags are encoded into the + buffer in two regions: one for printable tags, and one for binary tags. + @param tags tag set to be encoded + @param buffer pointer to buffer. This address will be used to encode the + printable tags. + @param buf_size number of available bytes in buffer. + @param print_buf_size Will be set to the number of bytes consumed by + printable tags. + @param bin_buf_size Will be set to the number of bytes used to encode the + binary tags. + @return A pointer to the binary tag's encoded, or NULL if the buffer was + insufficiently large to hold the encoded tags. Thus, if successful, + printable tags are encoded into + [buffer, buffer + *print_buf_size) and binary tags into + [returned-ptr, returned-ptr + *bin_buf_size) (and the return value + should be buffer + *print_buf_size) */ +char *census_tag_set_encode(const census_tag_set *tags, char *buffer, + size_t buf_size, size_t *print_buf_size, + size_t *bin_buf_size); + +/* Decode tag set buffers encoded with census_tag_set_encode_*(). Returns NULL + if there is an error in parsing either buffer. */ +census_tag_set *census_tag_set_decode(const char *buffer, size_t size, + const char *bin_buffer, size_t bin_size); + +/* Get a contexts tag set. */ +census_tag_set *census_context_tag_set(census_context *context); /* Core stats collection API's. The following concepts are used: * Aggregation: A collection of values. Census supports the following diff --git a/package.json b/package.json index e0bbb7d80ffe9c61583d911cde733e4b7e0c3c1d..0b87f6a59d868a935c8e9d7299bb065e807e14a0 100644 --- a/package.json +++ b/package.json @@ -363,6 +363,7 @@ "src/core/census/context.c", "src/core/census/initialize.c", "src/core/census/operation.c", + "src/core/census/tag_set.c", "src/core/census/tracing.c", "include/grpc/support/alloc.h", "include/grpc/support/atm.h", diff --git a/setup.py b/setup.py index 4012397800d4c583822cc21faf0e64c8d8ad17c7..c54ac2212977cae02c1947b14a14840f4747c56f 100644 --- a/setup.py +++ b/setup.py @@ -45,6 +45,7 @@ egg_info.manifest_maker.template = 'PYTHON-MANIFEST.in' PYTHON_STEM = './src/python/grpcio' CORE_INCLUDE = ('./include', '.',) BORINGSSL_INCLUDE = ('./third_party/boringssl/include',) +ZLIB_INCLUDE = ('./third_party/zlib',) # Ensure we're in the proper directory whether or not we're being used by pip. os.chdir(os.path.dirname(os.path.abspath(__file__))) @@ -75,9 +76,9 @@ CYTHON_EXTENSION_PACKAGE_NAMES = () CYTHON_EXTENSION_MODULE_NAMES = ('grpc._cython.cygrpc',) EXTENSION_INCLUDE_DIRECTORIES = ( - (PYTHON_STEM,) + CORE_INCLUDE + BORINGSSL_INCLUDE) + (PYTHON_STEM,) + CORE_INCLUDE + BORINGSSL_INCLUDE + ZLIB_INCLUDE) -EXTENSION_LIBRARIES = () +EXTENSION_LIBRARIES = ('m',) if not "darwin" in sys.platform: EXTENSION_LIBRARIES += ('rt',) @@ -120,6 +121,9 @@ PACKAGE_DIRECTORIES = { INSTALL_REQUIRES = ( 'enum34>=1.0.4', 'futures>=2.2.0', + # TODO(atash): eventually split the grpcio package into a metapackage + # depending on protobuf and the runtime component (independent of protobuf) + 'protobuf>=3.0.0a3', ) SETUP_REQUIRES = ( diff --git a/src/boringssl/gen_build_yaml.py b/src/boringssl/gen_build_yaml.py index 424912ba70dd5a20063e6db5c6919243d7ee0262..b635ee4c1399e4c1b80627c2489557711f4204fc 100755 --- a/src/boringssl/gen_build_yaml.py +++ b/src/boringssl/gen_build_yaml.py @@ -137,7 +137,8 @@ class Grpc(object): 'platforms': ['linux', 'mac', 'posix', 'windows'], 'flaky': False, 'language': 'c++', - 'boringssl': True + 'boringssl': True, + 'cpu_cost': 1.0 } for test in files['tests'] ] diff --git a/src/compiler/csharp_generator.cc b/src/compiler/csharp_generator.cc index 7b497df7f4775edafbac825b104633615737e66f..f6079bdc05abfd6af67faf117598b451324f46ab 100644 --- a/src/compiler/csharp_generator.cc +++ b/src/compiler/csharp_generator.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,7 +44,7 @@ using google::protobuf::compiler::csharp::GetFileNamespace; using google::protobuf::compiler::csharp::GetClassName; -using google::protobuf::compiler::csharp::GetUmbrellaClassName; +using google::protobuf::compiler::csharp::GetReflectionClassName; using grpc::protobuf::FileDescriptor; using grpc::protobuf::Descriptor; using grpc::protobuf::ServiceDescriptor; @@ -234,7 +234,7 @@ void GenerateServiceDescriptorProperty(Printer* out, const ServiceDescriptor *se out->Print("public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor\n"); out->Print("{\n"); out->Print(" get { return $umbrella$.Descriptor.Services[$index$]; }\n", - "umbrella", GetUmbrellaClassName(service->file()), "index", + "umbrella", GetReflectionClassName(service->file()), "index", index.str()); out->Print("}\n"); out->Print("\n"); diff --git a/src/core/census/tag_set.c b/src/core/census/tag_set.c new file mode 100644 index 0000000000000000000000000000000000000000..9b65a1dfa12bae255bec0f4fe4c6499089207b6e --- /dev/null +++ b/src/core/census/tag_set.c @@ -0,0 +1,535 @@ +/* + * + * Copyright 2015-2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include <grpc/census.h> +#include <grpc/support/alloc.h> +#include <grpc/support/log.h> +#include <grpc/support/port_platform.h> +#include <grpc/support/useful.h> +#include <stdbool.h> +#include <string.h> +#include "src/core/support/string.h" + +// Functions in this file support the public tag_set API, as well as +// encoding/decoding tag_sets as part of context propagation across +// RPC's. The overall requirements (in approximate priority order) for the +// tag_set representations: +// 1. Efficient conversion to/from wire format +// 2. Minimal bytes used on-wire +// 3. Efficient tag set creation +// 4. Efficient lookup of value for a key +// 5. Efficient lookup of value for an index (to support iteration) +// 6. Minimal memory footprint +// +// Notes on tradeoffs/decisions: +// * tag includes 1 byte length of key, as well as nil-terminating byte. These +// are to aid in efficient parsing and the ability to directly return key +// strings. This is more important than saving a single byte/tag on the wire. +// * The wire encoding uses only single byte values. This eliminates the need +// to handle endian-ness conversions. It also means there is a hard upper +// limit of 255 for both CENSUS_MAX_TAG_KV_LEN and CENSUS_MAX_PROPAGATED_TAGS. +// * Keep all tag information (keys/values/flags) in a single memory buffer, +// that can be directly copied to the wire.14 +// * Binary tags share the same structure as, but are encoded separately from, +// non-binary tags. This is primarily because non-binary tags are far more +// likely to be repeated across multiple RPC calls, so are more efficiently +// cached and compressed in any metadata schemes. +// * all lengths etc. are restricted to one byte. This eliminates endian +// issues. + +// Structure representing a set of tags. Essentially a count of number of tags +// present, and pointer to a chunk of memory that contains the per-tag details. +struct tag_set { + int ntags; // number of tags. + int ntags_alloc; // ntags + number of deleted tags (total number of tags + // in all of kvm). This will always be == ntags, except during the process + // of building a new tag set. + size_t kvm_size; // number of bytes allocated for key/value storage. + size_t kvm_used; // number of bytes of used key/value memory + char *kvm; // key/value memory. Consists of repeated entries of: + // Offset Size Description + // 0 1 Key length, including trailing 0. (K) + // 1 1 Value length. (V) + // 2 1 Flags + // 3 K Key bytes + // 3 + K V Value bytes + // + // We refer to the first 3 entries as the 'tag header'. If extra values are + // introduced in the header, you will need to modify the TAG_HEADER_SIZE + // constant, the raw_tag structure (and everything that uses it) and the + // encode/decode functions appropriately. +}; + +// Number of bytes in tag header. +#define TAG_HEADER_SIZE 3 // key length (1) + value length (1) + flags (1) +// Offsets to tag header entries. +#define KEY_LEN_OFFSET 0 +#define VALUE_LEN_OFFSET 1 +#define FLAG_OFFSET 2 + +// raw_tag represents the raw-storage form of a tag in the kvm of a tag_set. +struct raw_tag { + uint8_t key_len; + uint8_t value_len; + uint8_t flags; + char *key; + char *value; +}; + +// Use a reserved flag bit for indication of deleted tag. +#define CENSUS_TAG_DELETED CENSUS_TAG_RESERVED +#define CENSUS_TAG_IS_DELETED(flags) (flags & CENSUS_TAG_DELETED) + +// Primary (external) representation of a tag set. Composed of 3 underlying +// tag_set structs, one for each of the binary/printable propagated tags, and +// one for everything else. This is to efficiently support tag +// encoding/decoding. +struct census_tag_set { + struct tag_set tags[3]; + census_tag_set_create_status status; +}; + +// Indices into the tags member of census_tag_set +#define PROPAGATED_TAGS 0 +#define PROPAGATED_BINARY_TAGS 1 +#define LOCAL_TAGS 2 + +// Extract a raw tag given a pointer (raw) to the tag header. Allow for some +// extra bytes in the tag header (see encode/decode functions for usage: this +// allows for future expansion of the tag header). +static char *decode_tag(struct raw_tag *tag, char *header, int offset) { + tag->key_len = (uint8_t)(*header++); + tag->value_len = (uint8_t)(*header++); + tag->flags = (uint8_t)(*header++); + header += offset; + tag->key = header; + header += tag->key_len; + tag->value = header; + return header + tag->value_len; +} + +// Make a copy (in 'to') of an existing tag_set. +static void tag_set_copy(struct tag_set *to, const struct tag_set *from) { + memcpy(to, from, sizeof(struct tag_set)); + to->kvm = gpr_malloc(to->kvm_size); + memcpy(to->kvm, from->kvm, from->kvm_used); +} + +// Delete a tag from a tag_set, if it exists (returns true if it did). +static bool tag_set_delete_tag(struct tag_set *tags, const char *key, + size_t key_len) { + char *kvp = tags->kvm; + for (int i = 0; i < tags->ntags_alloc; i++) { + uint8_t *flags = (uint8_t *)(kvp + FLAG_OFFSET); + struct raw_tag tag; + kvp = decode_tag(&tag, kvp, 0); + if (CENSUS_TAG_IS_DELETED(tag.flags)) continue; + if ((key_len == tag.key_len) && (memcmp(key, tag.key, key_len) == 0)) { + *flags |= CENSUS_TAG_DELETED; + tags->ntags--; + return true; + } + } + return false; +} + +// Delete a tag from a census_tag_set, return true if it existed. +static bool cts_delete_tag(census_tag_set *tags, const census_tag *tag, + size_t key_len) { + return (tag_set_delete_tag(&tags->tags[LOCAL_TAGS], tag->key, key_len) || + tag_set_delete_tag(&tags->tags[PROPAGATED_TAGS], tag->key, key_len) || + tag_set_delete_tag(&tags->tags[PROPAGATED_BINARY_TAGS], tag->key, + key_len)); +} + +// Add a tag to a tag_set. Return true on sucess, false if the tag could +// not be added because of constraints on tag set size. This function should +// not be called if the tag may already exist (in a non-deleted state) in +// the tag_set, as that would result in two tags with the same key. +static bool tag_set_add_tag(struct tag_set *tags, const census_tag *tag, + size_t key_len) { + if (tags->ntags == CENSUS_MAX_PROPAGATED_TAGS) { + return false; + } + const size_t tag_size = key_len + tag->value_len + TAG_HEADER_SIZE; + if (tags->kvm_used + tag_size > tags->kvm_size) { + // allocate new memory if needed + tags->kvm_size += 2 * CENSUS_MAX_TAG_KV_LEN + TAG_HEADER_SIZE; + char *new_kvm = gpr_malloc(tags->kvm_size); + memcpy(new_kvm, tags->kvm, tags->kvm_used); + gpr_free(tags->kvm); + tags->kvm = new_kvm; + } + char *kvp = tags->kvm + tags->kvm_used; + *kvp++ = (char)key_len; + *kvp++ = (char)tag->value_len; + // ensure reserved flags are not used. + *kvp++ = (char)(tag->flags & (CENSUS_TAG_PROPAGATE | CENSUS_TAG_STATS | + CENSUS_TAG_BINARY)); + memcpy(kvp, tag->key, key_len); + kvp += key_len; + memcpy(kvp, tag->value, tag->value_len); + tags->kvm_used += tag_size; + tags->ntags++; + tags->ntags_alloc++; + return true; +} + +// Add/modify/delete a tag to/in a census_tag_set. Caller must validate that +// tag key etc. are valid. +static void cts_modify_tag(census_tag_set *tags, const census_tag *tag, + size_t key_len) { + // First delete the tag if it is already present. + bool deleted = cts_delete_tag(tags, tag, key_len); + // Determine if we need to add it back. + bool call_add = tag->value != NULL && tag->value_len != 0; + bool added = false; + if (call_add) { + if (CENSUS_TAG_IS_PROPAGATED(tag->flags)) { + if (CENSUS_TAG_IS_BINARY(tag->flags)) { + added = + tag_set_add_tag(&tags->tags[PROPAGATED_BINARY_TAGS], tag, key_len); + } else { + added = tag_set_add_tag(&tags->tags[PROPAGATED_TAGS], tag, key_len); + } + } else { + added = tag_set_add_tag(&tags->tags[LOCAL_TAGS], tag, key_len); + } + } + if (deleted) { + if (call_add) { + tags->status.n_modified_tags++; + } else { + tags->status.n_deleted_tags++; + } + } else { + if (added) { + tags->status.n_added_tags++; + } else { + tags->status.n_ignored_tags++; + } + } +} + +// Remove memory used for deleted tags from the tag set. Basic algorithm: +// 1) Walk through tag set to find first deleted tag. Record where it is. +// 2) Find the next not-deleted tag. Copy all of kvm from there to the end +// "over" the deleted tags +// 3) repeat #1 and #2 until we have seen all tags +// 4) if we are still looking for a not-deleted tag, then all the end portion +// of the kvm is deleted. Just reduce the used amount of memory by the +// appropriate amount. +static void tag_set_flatten(struct tag_set *tags) { + if (tags->ntags == tags->ntags_alloc) return; + bool found_deleted = false; // found a deleted tag. + char *kvp = tags->kvm; + char *dbase = NULL; // record location of deleted tag + for (int i = 0; i < tags->ntags_alloc; i++) { + struct raw_tag tag; + char *next_kvp = decode_tag(&tag, kvp, 0); + if (found_deleted) { + if (!CENSUS_TAG_IS_DELETED(tag.flags)) { + ptrdiff_t reduce = kvp - dbase; // #bytes in deleted tags + GPR_ASSERT(reduce > 0); + ptrdiff_t copy_size = tags->kvm + tags->kvm_used - kvp; + GPR_ASSERT(copy_size > 0); + memmove(dbase, kvp, (size_t)copy_size); + tags->kvm_used -= (size_t)reduce; + next_kvp -= reduce; + found_deleted = false; + } + } else { + if (CENSUS_TAG_IS_DELETED(tag.flags)) { + dbase = kvp; + found_deleted = true; + } + } + kvp = next_kvp; + } + if (found_deleted) { + GPR_ASSERT(dbase > tags->kvm); + tags->kvm_used = (size_t)(dbase - tags->kvm); + } + tags->ntags_alloc = tags->ntags; +} + +census_tag_set *census_tag_set_create( + const census_tag_set *base, const census_tag *tags, int ntags, + census_tag_set_create_status const **status) { + census_tag_set *new_ts = gpr_malloc(sizeof(census_tag_set)); + // If we are given a base, copy it into our new tag set. Otherwise set it + // to zero/NULL everything. + if (base == NULL) { + memset(new_ts, 0, sizeof(census_tag_set)); + } else { + tag_set_copy(&new_ts->tags[PROPAGATED_TAGS], &base->tags[PROPAGATED_TAGS]); + tag_set_copy(&new_ts->tags[PROPAGATED_BINARY_TAGS], + &base->tags[PROPAGATED_BINARY_TAGS]); + tag_set_copy(&new_ts->tags[LOCAL_TAGS], &base->tags[LOCAL_TAGS]); + memset(&new_ts->status, 0, sizeof(new_ts->status)); + } + // Walk over the additional tags and, for those that aren't invalid, modify + // the tag set to add/replace/delete as required. + for (int i = 0; i < ntags; i++) { + const census_tag *tag = &tags[i]; + size_t key_len = strlen(tag->key) + 1; + // ignore the tag if it is too long/short. + if (key_len != 1 && key_len <= CENSUS_MAX_TAG_KV_LEN && + tag->value_len <= CENSUS_MAX_TAG_KV_LEN) { + cts_modify_tag(new_ts, tag, key_len); + } else { + new_ts->status.n_invalid_tags++; + } + } + // Remove any deleted tags, update status if needed, and return. + tag_set_flatten(&new_ts->tags[PROPAGATED_TAGS]); + tag_set_flatten(&new_ts->tags[PROPAGATED_BINARY_TAGS]); + tag_set_flatten(&new_ts->tags[LOCAL_TAGS]); + new_ts->status.n_propagated_tags = new_ts->tags[PROPAGATED_TAGS].ntags; + new_ts->status.n_propagated_binary_tags = + new_ts->tags[PROPAGATED_BINARY_TAGS].ntags; + new_ts->status.n_local_tags = new_ts->tags[LOCAL_TAGS].ntags; + if (status) { + *status = &new_ts->status; + } + return new_ts; +} + +const census_tag_set_create_status *census_tag_set_get_create_status( + const census_tag_set *tags) { + return &tags->status; +} + +void census_tag_set_destroy(census_tag_set *tags) { + gpr_free(tags->tags[PROPAGATED_TAGS].kvm); + gpr_free(tags->tags[PROPAGATED_BINARY_TAGS].kvm); + gpr_free(tags->tags[LOCAL_TAGS].kvm); + gpr_free(tags); +} + +// Initialize a tag set iterator. Must be called before first use of the +// iterator. +void census_tag_set_initialize_iterator(const census_tag_set *tags, + census_tag_set_iterator *iterator) { + iterator->tags = tags; + iterator->index = 0; + if (tags->tags[PROPAGATED_TAGS].ntags != 0) { + iterator->base = PROPAGATED_TAGS; + iterator->kvm = tags->tags[PROPAGATED_TAGS].kvm; + } else if (tags->tags[PROPAGATED_BINARY_TAGS].ntags != 0) { + iterator->base = PROPAGATED_BINARY_TAGS; + iterator->kvm = tags->tags[PROPAGATED_BINARY_TAGS].kvm; + } else if (tags->tags[LOCAL_TAGS].ntags != 0) { + iterator->base = LOCAL_TAGS; + iterator->kvm = tags->tags[LOCAL_TAGS].kvm; + } else { + iterator->base = -1; + } +} + +// Get the contents of the "next" tag in the tag set. If there are no more +// tags in the tag set, returns 0 (and 'tag' contents will be unchanged), +// otherwise returns 1. */ +int census_tag_set_next_tag(census_tag_set_iterator *iterator, + census_tag *tag) { + if (iterator->base < 0) { + return 0; + } + struct raw_tag raw; + iterator->kvm = decode_tag(&raw, iterator->kvm, 0); + tag->key = raw.key; + tag->value = raw.value; + tag->value_len = raw.value_len; + tag->flags = raw.flags; + if (++iterator->index == iterator->tags->tags[iterator->base].ntags) { + do { + if (iterator->base == LOCAL_TAGS) { + iterator->base = -1; + return 1; + } + } while (iterator->tags->tags[++iterator->base].ntags == 0); + iterator->index = 0; + iterator->kvm = iterator->tags->tags[iterator->base].kvm; + } + return 1; +} + +// Find a tag in a tag_set by key. Return true if found, false otherwise. +static bool tag_set_get_tag_by_key(const struct tag_set *tags, const char *key, + size_t key_len, census_tag *tag) { + char *kvp = tags->kvm; + for (int i = 0; i < tags->ntags; i++) { + struct raw_tag raw; + kvp = decode_tag(&raw, kvp, 0); + if (key_len == raw.key_len && memcmp(raw.key, key, key_len) == 0) { + tag->key = raw.key; + tag->value = raw.value; + tag->value_len = raw.value_len; + tag->flags = raw.flags; + return true; + } + } + return false; +} + +int census_tag_set_get_tag_by_key(const census_tag_set *tags, const char *key, + census_tag *tag) { + size_t key_len = strlen(key) + 1; + if (key_len == 1) { + return 0; + } + if (tag_set_get_tag_by_key(&tags->tags[PROPAGATED_TAGS], key, key_len, tag) || + tag_set_get_tag_by_key(&tags->tags[PROPAGATED_BINARY_TAGS], key, key_len, + tag) || + tag_set_get_tag_by_key(&tags->tags[LOCAL_TAGS], key, key_len, tag)) { + return 1; + } + return 0; +} + +// tag_set encoding and decoding functions. +// +// Wire format for tag sets on the wire: +// +// First, a tag set header: +// +// offset bytes description +// 0 1 version number +// 1 1 number of bytes in this header. This allows for future +// expansion. +// 2 1 number of bytes in each tag header. +// 3 1 ntags value from tag set. +// +// This is followed by the key/value memory from struct tag_set. + +#define ENCODED_VERSION 0 // Version number +#define ENCODED_HEADER_SIZE 4 // size of tag set header + +// Encode a tag set. Returns 0 if buffer is too small. +static size_t tag_set_encode(const struct tag_set *tags, char *buffer, + size_t buf_size) { + if (buf_size < ENCODED_HEADER_SIZE + tags->kvm_used) { + return 0; + } + buf_size -= ENCODED_HEADER_SIZE; + *buffer++ = (char)ENCODED_VERSION; + *buffer++ = (char)ENCODED_HEADER_SIZE; + *buffer++ = (char)TAG_HEADER_SIZE; + *buffer++ = (char)tags->ntags; + if (tags->ntags == 0) { + return ENCODED_HEADER_SIZE; + } + memcpy(buffer, tags->kvm, tags->kvm_used); + return ENCODED_HEADER_SIZE + tags->kvm_used; +} + +char *census_tag_set_encode(const census_tag_set *tags, char *buffer, + size_t buf_size, size_t *print_buf_size, + size_t *bin_buf_size) { + *print_buf_size = + tag_set_encode(&tags->tags[PROPAGATED_TAGS], buffer, buf_size); + if (*print_buf_size == 0) { + return NULL; + } + char *b_buffer = buffer + *print_buf_size; + *bin_buf_size = tag_set_encode(&tags->tags[PROPAGATED_BINARY_TAGS], b_buffer, + buf_size - *print_buf_size); + if (*bin_buf_size == 0) { + return NULL; + } + return b_buffer; +} + +// Decode a tag set. +static void tag_set_decode(struct tag_set *tags, const char *buffer, + size_t size) { + uint8_t version = (uint8_t)(*buffer++); + uint8_t header_size = (uint8_t)(*buffer++); + uint8_t tag_header_size = (uint8_t)(*buffer++); + tags->ntags = tags->ntags_alloc = (int)(*buffer++); + if (tags->ntags == 0) { + tags->ntags_alloc = 0; + tags->kvm_size = 0; + tags->kvm_used = 0; + tags->kvm = NULL; + return; + } + if (header_size != ENCODED_HEADER_SIZE) { + GPR_ASSERT(version != ENCODED_VERSION); + GPR_ASSERT(ENCODED_HEADER_SIZE < header_size); + buffer += (header_size - ENCODED_HEADER_SIZE); + } + tags->kvm_used = size - header_size; + tags->kvm_size = tags->kvm_used + CENSUS_MAX_TAG_KV_LEN; + tags->kvm = gpr_malloc(tags->kvm_size); + if (tag_header_size != TAG_HEADER_SIZE) { + // something new in the tag information. I don't understand it, so + // don't copy it over. + GPR_ASSERT(version != ENCODED_VERSION); + GPR_ASSERT(tag_header_size > TAG_HEADER_SIZE); + char *kvp = tags->kvm; + for (int i = 0; i < tags->ntags; i++) { + memcpy(kvp, buffer, TAG_HEADER_SIZE); + kvp += header_size; + struct raw_tag raw; + buffer = + decode_tag(&raw, (char *)buffer, tag_header_size - TAG_HEADER_SIZE); + memcpy(kvp, raw.key, (size_t)raw.key_len + raw.value_len); + kvp += raw.key_len + raw.value_len; + } + } else { + memcpy(tags->kvm, buffer, tags->kvm_used); + } +} + +census_tag_set *census_tag_set_decode(const char *buffer, size_t size, + const char *bin_buffer, size_t bin_size) { + census_tag_set *new_ts = gpr_malloc(sizeof(census_tag_set)); + memset(&new_ts->tags[LOCAL_TAGS], 0, sizeof(struct tag_set)); + if (buffer == NULL) { + memset(&new_ts->tags[PROPAGATED_TAGS], 0, sizeof(struct tag_set)); + } else { + tag_set_decode(&new_ts->tags[PROPAGATED_TAGS], buffer, size); + } + if (bin_buffer == NULL) { + memset(&new_ts->tags[PROPAGATED_BINARY_TAGS], 0, sizeof(struct tag_set)); + } else { + tag_set_decode(&new_ts->tags[PROPAGATED_BINARY_TAGS], bin_buffer, bin_size); + } + memset(&new_ts->status, 0, sizeof(new_ts->status)); + new_ts->status.n_propagated_tags = new_ts->tags[PROPAGATED_TAGS].ntags; + new_ts->status.n_propagated_binary_tags = + new_ts->tags[PROPAGATED_BINARY_TAGS].ntags; + // TODO(aveitch): check that BINARY flag is correct for each type. + return new_ts; +} diff --git a/src/core/support/cpu_posix.c b/src/core/support/cpu_posix.c index 5edb87d67fb899d0052f11581c1194752b50d108..8f01c284ca425ccab9d7f10ac63cbc029f0bfc7f 100644 --- a/src/core/support/cpu_posix.c +++ b/src/core/support/cpu_posix.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -48,7 +48,7 @@ static long ncpus = 0; static void init_ncpus() { ncpus = sysconf(_SC_NPROCESSORS_ONLN); - if (ncpus < 1 || ncpus > UINT32_MAX) { + if (ncpus < 1 || ncpus > INT32_MAX) { gpr_log(GPR_ERROR, "Cannot determine number of CPUs: assuming 1"); ncpus = 1; } diff --git a/src/core/transport/chttp2/timeout_encoding.c b/src/core/transport/chttp2/timeout_encoding.c index 8cbf987a425afa5fc1d139b5b41bb64c506a534e..a6f7081d21b96427cd9b9749efbb5f5f9d013475 100644 --- a/src/core/transport/chttp2/timeout_encoding.c +++ b/src/core/transport/chttp2/timeout_encoding.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -137,7 +137,7 @@ static int is_all_whitespace(const char *p) { } int grpc_chttp2_decode_timeout(const char *buffer, gpr_timespec *timeout) { - uint32_t x = 0; + int32_t x = 0; const uint8_t *p = (const uint8_t *)buffer; int have_digit = 0; /* skip whitespace */ @@ -145,13 +145,16 @@ int grpc_chttp2_decode_timeout(const char *buffer, gpr_timespec *timeout) { ; /* decode numeric part */ for (; *p >= '0' && *p <= '9'; p++) { - uint32_t xp = x * 10u + (uint32_t)*p - (uint32_t)'0'; + int32_t digit = (int32_t)(*p - (uint8_t)'0'); have_digit = 1; - if (xp < x) { - *timeout = gpr_inf_future(GPR_CLOCK_REALTIME); - return 1; + /* spec allows max. 8 digits, but we allow values up to 1,000,000,000 */ + if (x >= (100 * 1000 * 1000)) { + if (x != (100 * 1000 * 1000) || digit != 0) { + *timeout = gpr_inf_future(GPR_CLOCK_REALTIME); + return 1; + } } - x = xp; + x = x * 10 + digit; } if (!have_digit) return 0; /* skip whitespace */ diff --git a/src/cpp/server/server_context.cc b/src/cpp/server/server_context.cc index 8193e70660d1972ecc132753b778b05b565238a9..b3a74c7fce61f51d0f26cfffd05dc353a435fcd7 100644 --- a/src/cpp/server/server_context.cc +++ b/src/cpp/server/server_context.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -122,6 +122,7 @@ ServerContext::ServerContext() : completion_op_(nullptr), has_notify_when_done_tag_(false), async_notify_when_done_tag_(nullptr), + deadline_(gpr_inf_future(GPR_CLOCK_REALTIME)), call_(nullptr), cq_(nullptr), sent_initial_metadata_(false) {} diff --git a/src/csharp/Grpc.Auth/Grpc.Auth.csproj b/src/csharp/Grpc.Auth/Grpc.Auth.csproj index 55bde6e194234566750ac5df30661789b2e112e7..7e106544a7d35bade3cf6f2e5226a98bf9330ca9 100644 --- a/src/csharp/Grpc.Auth/Grpc.Auth.csproj +++ b/src/csharp/Grpc.Auth/Grpc.Auth.csproj @@ -36,7 +36,7 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="System" /> diff --git a/src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj b/src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj index 475c7923476947763614b2de409c935f5695a0e7..8307828193533b84fd4d10f243d51d03636558bc 100644 --- a/src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj +++ b/src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj @@ -32,7 +32,7 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="nunit.core"> diff --git a/src/csharp/Grpc.Core/Grpc.Core.csproj b/src/csharp/Grpc.Core/Grpc.Core.csproj index ef4ec70a4a17f0dcbb9451549d69929732cf835a..38398a2afd6d9c9540c54cbf2385bcc1c5193fa5 100644 --- a/src/csharp/Grpc.Core/Grpc.Core.csproj +++ b/src/csharp/Grpc.Core/Grpc.Core.csproj @@ -35,7 +35,7 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="System" /> diff --git a/src/csharp/Grpc.Examples.MathClient/Grpc.Examples.MathClient.csproj b/src/csharp/Grpc.Examples.MathClient/Grpc.Examples.MathClient.csproj index b603e3af3c370d12feef457eb4a94434c0f9ebc5..35c0646a3fd69779bb6c505e0f2db70b6e7ee905 100644 --- a/src/csharp/Grpc.Examples.MathClient/Grpc.Examples.MathClient.csproj +++ b/src/csharp/Grpc.Examples.MathClient/Grpc.Examples.MathClient.csproj @@ -34,7 +34,7 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="System" /> diff --git a/src/csharp/Grpc.Examples.MathServer/Grpc.Examples.MathServer.csproj b/src/csharp/Grpc.Examples.MathServer/Grpc.Examples.MathServer.csproj index 5f74b58773672c7a26569ddc35face653d3878d4..74d79b44d98f36a203f71ce2367a153d5a8d8c63 100644 --- a/src/csharp/Grpc.Examples.MathServer/Grpc.Examples.MathServer.csproj +++ b/src/csharp/Grpc.Examples.MathServer/Grpc.Examples.MathServer.csproj @@ -34,7 +34,7 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="System" /> diff --git a/src/csharp/Grpc.Examples.Tests/Grpc.Examples.Tests.csproj b/src/csharp/Grpc.Examples.Tests/Grpc.Examples.Tests.csproj index c4c1ee6d0067e57ff63eaa8a1452ba4934c85f22..54c68c1f925ae1f0a3dc36cb844325b367e3c433 100644 --- a/src/csharp/Grpc.Examples.Tests/Grpc.Examples.Tests.csproj +++ b/src/csharp/Grpc.Examples.Tests/Grpc.Examples.Tests.csproj @@ -34,12 +34,12 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="Google.Protobuf, Version=3.0.0.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Protobuf.3.0.0-alpha4\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> + <HintPath>..\packages\Google.Protobuf.3.0.0-beta2\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> </Reference> <Reference Include="nunit.framework"> <HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath> diff --git a/src/csharp/Grpc.Examples.Tests/packages.config b/src/csharp/Grpc.Examples.Tests/packages.config index 7266fa1763c1f1a95b2d085e106f9020257fb47f..10bf1e82d0c89750810da9a73f54ff0c35a81b5d 100644 --- a/src/csharp/Grpc.Examples.Tests/packages.config +++ b/src/csharp/Grpc.Examples.Tests/packages.config @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Google.Protobuf" version="3.0.0-alpha4" targetFramework="net45" /> + <package id="Google.Protobuf" version="3.0.0-beta2" targetFramework="net45" /> <package id="Ix-Async" version="1.2.3" targetFramework="net45" /> <package id="NUnit" version="2.6.4" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/src/csharp/Grpc.Examples/Grpc.Examples.csproj b/src/csharp/Grpc.Examples/Grpc.Examples.csproj index 53b2bb78c4c7f797f4af5dc6811a91abdfd424de..c9b01950e5024ea0629e327a208e16ddc599a319 100644 --- a/src/csharp/Grpc.Examples/Grpc.Examples.csproj +++ b/src/csharp/Grpc.Examples/Grpc.Examples.csproj @@ -34,12 +34,12 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="Google.Protobuf, Version=3.0.0.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Protobuf.3.0.0-alpha4\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> + <HintPath>..\packages\Google.Protobuf.3.0.0-beta2\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> </Reference> <Reference Include="System" /> <Reference Include="System.Data.Linq" /> @@ -67,4 +67,4 @@ <ItemGroup> <None Include="packages.config" /> </ItemGroup> -</Project> +</Project> \ No newline at end of file diff --git a/src/csharp/Grpc.Examples/Math.cs b/src/csharp/Grpc.Examples/Math.cs index d0e1ee8aae5b4805aacadadc96e7a1d953539d1d..33c4f8d9c0486cd248d1d0c95e22ef1ae6c9b90a 100644 --- a/src/csharp/Grpc.Examples/Math.cs +++ b/src/csharp/Grpc.Examples/Math.cs @@ -9,42 +9,41 @@ using pbr = global::Google.Protobuf.Reflection; using scg = global::System.Collections.Generic; namespace Math { - namespace Proto { - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - public static partial class Math { - - #region Descriptor - public static pbr::FileDescriptor Descriptor { - get { return descriptor; } - } - private static pbr::FileDescriptor descriptor; - - static Math() { - byte[] descriptorData = global::System.Convert.FromBase64String( - string.Concat( - "CgptYXRoLnByb3RvEgRtYXRoIiwKB0RpdkFyZ3MSEAoIZGl2aWRlbmQYASAB", - "KAMSDwoHZGl2aXNvchgCIAEoAyIvCghEaXZSZXBseRIQCghxdW90aWVudBgB", - "IAEoAxIRCglyZW1haW5kZXIYAiABKAMiGAoHRmliQXJncxINCgVsaW1pdBgB", - "IAEoAyISCgNOdW0SCwoDbnVtGAEgASgDIhkKCEZpYlJlcGx5Eg0KBWNvdW50", - "GAEgASgDMqQBCgRNYXRoEiYKA0RpdhINLm1hdGguRGl2QXJncxoOLm1hdGgu", - "RGl2UmVwbHkiABIuCgdEaXZNYW55Eg0ubWF0aC5EaXZBcmdzGg4ubWF0aC5E", - "aXZSZXBseSIAKAEwARIjCgNGaWISDS5tYXRoLkZpYkFyZ3MaCS5tYXRoLk51", - "bSIAMAESHwoDU3VtEgkubWF0aC5OdW0aCS5tYXRoLk51bSIAKAFiBnByb3Rv", - "Mw==")); - descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData, - new pbr::FileDescriptor[] { }, - new pbr::GeneratedCodeInfo(null, new pbr::GeneratedCodeInfo[] { - new pbr::GeneratedCodeInfo(typeof(global::Math.DivArgs), new[]{ "Dividend", "Divisor" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Math.DivReply), new[]{ "Quotient", "Remainder" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Math.FibArgs), new[]{ "Limit" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Math.Num), new[]{ "Num_" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Math.FibReply), new[]{ "Count" }, null, null, null) - })); - } - #endregion + /// <summary>Holder for reflection information generated from math.proto</summary> + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public static partial class MathReflection { + + #region Descriptor + /// <summary>File descriptor for math.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static MathReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "CgptYXRoLnByb3RvEgRtYXRoIiwKB0RpdkFyZ3MSEAoIZGl2aWRlbmQYASAB", + "KAMSDwoHZGl2aXNvchgCIAEoAyIvCghEaXZSZXBseRIQCghxdW90aWVudBgB", + "IAEoAxIRCglyZW1haW5kZXIYAiABKAMiGAoHRmliQXJncxINCgVsaW1pdBgB", + "IAEoAyISCgNOdW0SCwoDbnVtGAEgASgDIhkKCEZpYlJlcGx5Eg0KBWNvdW50", + "GAEgASgDMqQBCgRNYXRoEiYKA0RpdhINLm1hdGguRGl2QXJncxoOLm1hdGgu", + "RGl2UmVwbHkiABIuCgdEaXZNYW55Eg0ubWF0aC5EaXZBcmdzGg4ubWF0aC5E", + "aXZSZXBseSIAKAEwARIjCgNGaWISDS5tYXRoLkZpYkFyZ3MaCS5tYXRoLk51", + "bSIAMAESHwoDU3VtEgkubWF0aC5OdW0aCS5tYXRoLk51bSIAKAFiBnByb3Rv", + "Mw==")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedCodeInfo(null, new pbr::GeneratedCodeInfo[] { + new pbr::GeneratedCodeInfo(typeof(global::Math.DivArgs), global::Math.DivArgs.Parser, new[]{ "Dividend", "Divisor" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Math.DivReply), global::Math.DivReply.Parser, new[]{ "Quotient", "Remainder" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Math.FibArgs), global::Math.FibArgs.Parser, new[]{ "Limit" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Math.Num), global::Math.Num.Parser, new[]{ "Num_" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Math.FibReply), global::Math.FibReply.Parser, new[]{ "Count" }, null, null, null) + })); + } + #endregion - } } #region Messages [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -53,7 +52,7 @@ namespace Math { public static pb::MessageParser<DivArgs> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Math.Proto.Math.Descriptor.MessageTypes[0]; } + get { return global::Math.MathReflection.Descriptor.MessageTypes[0]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -75,6 +74,7 @@ namespace Math { return new DivArgs(this); } + /// <summary>Field number for the "dividend" field.</summary> public const int DividendFieldNumber = 1; private long dividend_; public long Dividend { @@ -84,6 +84,7 @@ namespace Math { } } + /// <summary>Field number for the "divisor" field.</summary> public const int DivisorFieldNumber = 2; private long divisor_; public long Divisor { @@ -117,7 +118,7 @@ namespace Math { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -181,7 +182,7 @@ namespace Math { public static pb::MessageParser<DivReply> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Math.Proto.Math.Descriptor.MessageTypes[1]; } + get { return global::Math.MathReflection.Descriptor.MessageTypes[1]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -203,6 +204,7 @@ namespace Math { return new DivReply(this); } + /// <summary>Field number for the "quotient" field.</summary> public const int QuotientFieldNumber = 1; private long quotient_; public long Quotient { @@ -212,6 +214,7 @@ namespace Math { } } + /// <summary>Field number for the "remainder" field.</summary> public const int RemainderFieldNumber = 2; private long remainder_; public long Remainder { @@ -245,7 +248,7 @@ namespace Math { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -309,7 +312,7 @@ namespace Math { public static pb::MessageParser<FibArgs> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Math.Proto.Math.Descriptor.MessageTypes[2]; } + get { return global::Math.MathReflection.Descriptor.MessageTypes[2]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -330,6 +333,7 @@ namespace Math { return new FibArgs(this); } + /// <summary>Field number for the "limit" field.</summary> public const int LimitFieldNumber = 1; private long limit_; public long Limit { @@ -361,7 +365,7 @@ namespace Math { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -411,7 +415,7 @@ namespace Math { public static pb::MessageParser<Num> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Math.Proto.Math.Descriptor.MessageTypes[3]; } + get { return global::Math.MathReflection.Descriptor.MessageTypes[3]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -432,6 +436,7 @@ namespace Math { return new Num(this); } + /// <summary>Field number for the "num" field.</summary> public const int Num_FieldNumber = 1; private long num_; public long Num_ { @@ -463,7 +468,7 @@ namespace Math { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -513,7 +518,7 @@ namespace Math { public static pb::MessageParser<FibReply> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Math.Proto.Math.Descriptor.MessageTypes[4]; } + get { return global::Math.MathReflection.Descriptor.MessageTypes[4]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -534,6 +539,7 @@ namespace Math { return new FibReply(this); } + /// <summary>Field number for the "count" field.</summary> public const int CountFieldNumber = 1; private long count_; public long Count { @@ -565,7 +571,7 @@ namespace Math { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { diff --git a/src/csharp/Grpc.Examples/MathGrpc.cs b/src/csharp/Grpc.Examples/MathGrpc.cs index 175d110f764c00444aaecde3fcdba9200de973fa..a6e878d0f48b6ea3e0b2e8b6540f8ae82174aaab 100644 --- a/src/csharp/Grpc.Examples/MathGrpc.cs +++ b/src/csharp/Grpc.Examples/MathGrpc.cs @@ -48,7 +48,7 @@ namespace Math { // service descriptor public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor { - get { return global::Math.Proto.Math.Descriptor.Services[0]; } + get { return global::Math.MathReflection.Descriptor.Services[0]; } } // client interface diff --git a/src/csharp/Grpc.Examples/packages.config b/src/csharp/Grpc.Examples/packages.config index adf8da2363dc54fd426e67be76e727450549a9d5..f5131b850911b333e49ed8ae3ec6286330c8e00b 100644 --- a/src/csharp/Grpc.Examples/packages.config +++ b/src/csharp/Grpc.Examples/packages.config @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Google.Protobuf" version="3.0.0-alpha4" targetFramework="net45" /> + <package id="Google.Protobuf" version="3.0.0-beta2" targetFramework="net45" /> <package id="Ix-Async" version="1.2.3" targetFramework="net45" /> <package id="NUnit" version="2.6.4" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/src/csharp/Grpc.HealthCheck.Tests/Grpc.HealthCheck.Tests.csproj b/src/csharp/Grpc.HealthCheck.Tests/Grpc.HealthCheck.Tests.csproj index 396dc43a02105f850c82ad5200fb7d6d734adef9..bb6488b4f12e68c7e540a828695883d749ddc724 100644 --- a/src/csharp/Grpc.HealthCheck.Tests/Grpc.HealthCheck.Tests.csproj +++ b/src/csharp/Grpc.HealthCheck.Tests/Grpc.HealthCheck.Tests.csproj @@ -34,12 +34,12 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="Google.Protobuf, Version=3.0.0.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Protobuf.3.0.0-alpha4\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> + <HintPath>..\packages\Google.Protobuf.3.0.0-beta2\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> </Reference> <Reference Include="nunit.framework"> <HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath> diff --git a/src/csharp/Grpc.HealthCheck.Tests/packages.config b/src/csharp/Grpc.HealthCheck.Tests/packages.config index 40ffb85203113333eb9f24534ba462e41595b1e7..472809397913d8d8ed25ecdca826f811db205719 100644 --- a/src/csharp/Grpc.HealthCheck.Tests/packages.config +++ b/src/csharp/Grpc.HealthCheck.Tests/packages.config @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Google.Protobuf" version="3.0.0-alpha4" targetFramework="net45" /> + <package id="Google.Protobuf" version="3.0.0-beta2" targetFramework="net45" /> <package id="NUnit" version="2.6.4" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/src/csharp/Grpc.HealthCheck/Grpc.HealthCheck.csproj b/src/csharp/Grpc.HealthCheck/Grpc.HealthCheck.csproj index 4e775a7a0c952f24da6beb31fef1b417ef4be219..7ffab4b692b1f7366073a5d55e4749d4e0768d25 100644 --- a/src/csharp/Grpc.HealthCheck/Grpc.HealthCheck.csproj +++ b/src/csharp/Grpc.HealthCheck/Grpc.HealthCheck.csproj @@ -35,12 +35,12 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="Google.Protobuf, Version=3.0.0.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> - <HintPath>..\packages\Google.Protobuf.3.0.0-alpha4\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> + <HintPath>..\packages\Google.Protobuf.3.0.0-beta2\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> </Reference> <Reference Include="System" /> <Reference Include="System.Core" /> @@ -80,4 +80,4 @@ <Target Name="AfterBuild"> </Target> --> -</Project> +</Project> \ No newline at end of file diff --git a/src/csharp/Grpc.HealthCheck/Health.cs b/src/csharp/Grpc.HealthCheck/Health.cs index 570e274544e8a7818410eb0636a687dd80a71307..56673f1adf699bef3998cae252799bcbe7d3bfe5 100644 --- a/src/csharp/Grpc.HealthCheck/Health.cs +++ b/src/csharp/Grpc.HealthCheck/Health.cs @@ -9,39 +9,38 @@ using pbr = global::Google.Protobuf.Reflection; using scg = global::System.Collections.Generic; namespace Grpc.Health.V1Alpha { - namespace Proto { - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - public static partial class Health { - - #region Descriptor - public static pbr::FileDescriptor Descriptor { - get { return descriptor; } - } - private static pbr::FileDescriptor descriptor; - - static Health() { - byte[] descriptorData = global::System.Convert.FromBase64String( - string.Concat( - "CgxoZWFsdGgucHJvdG8SE2dycGMuaGVhbHRoLnYxYWxwaGEiMwoSSGVhbHRo", - "Q2hlY2tSZXF1ZXN0EgwKBGhvc3QYASABKAkSDwoHc2VydmljZRgCIAEoCSKZ", - "AQoTSGVhbHRoQ2hlY2tSZXNwb25zZRJGCgZzdGF0dXMYASABKA4yNi5ncnBj", - "LmhlYWx0aC52MWFscGhhLkhlYWx0aENoZWNrUmVzcG9uc2UuU2VydmluZ1N0", - "YXR1cyI6Cg1TZXJ2aW5nU3RhdHVzEgsKB1VOS05PV04QABILCgdTRVJWSU5H", - "EAESDwoLTk9UX1NFUlZJTkcQAjJkCgZIZWFsdGgSWgoFQ2hlY2sSJy5ncnBj", - "LmhlYWx0aC52MWFscGhhLkhlYWx0aENoZWNrUmVxdWVzdBooLmdycGMuaGVh", - "bHRoLnYxYWxwaGEuSGVhbHRoQ2hlY2tSZXNwb25zZUIWqgITR3JwYy5IZWFs", - "dGguVjFBbHBoYWIGcHJvdG8z")); - descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData, - new pbr::FileDescriptor[] { }, - new pbr::GeneratedCodeInfo(null, new pbr::GeneratedCodeInfo[] { - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Health.V1Alpha.HealthCheckRequest), new[]{ "Host", "Service" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Health.V1Alpha.HealthCheckResponse), new[]{ "Status" }, null, new[]{ typeof(global::Grpc.Health.V1Alpha.HealthCheckResponse.Types.ServingStatus) }, null) - })); - } - #endregion + /// <summary>Holder for reflection information generated from health.proto</summary> + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public static partial class HealthReflection { + #region Descriptor + /// <summary>File descriptor for health.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static HealthReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "CgxoZWFsdGgucHJvdG8SE2dycGMuaGVhbHRoLnYxYWxwaGEiMwoSSGVhbHRo", + "Q2hlY2tSZXF1ZXN0EgwKBGhvc3QYASABKAkSDwoHc2VydmljZRgCIAEoCSKZ", + "AQoTSGVhbHRoQ2hlY2tSZXNwb25zZRJGCgZzdGF0dXMYASABKA4yNi5ncnBj", + "LmhlYWx0aC52MWFscGhhLkhlYWx0aENoZWNrUmVzcG9uc2UuU2VydmluZ1N0", + "YXR1cyI6Cg1TZXJ2aW5nU3RhdHVzEgsKB1VOS05PV04QABILCgdTRVJWSU5H", + "EAESDwoLTk9UX1NFUlZJTkcQAjJkCgZIZWFsdGgSWgoFQ2hlY2sSJy5ncnBj", + "LmhlYWx0aC52MWFscGhhLkhlYWx0aENoZWNrUmVxdWVzdBooLmdycGMuaGVh", + "bHRoLnYxYWxwaGEuSGVhbHRoQ2hlY2tSZXNwb25zZUIWqgITR3JwYy5IZWFs", + "dGguVjFBbHBoYWIGcHJvdG8z")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedCodeInfo(null, new pbr::GeneratedCodeInfo[] { + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Health.V1Alpha.HealthCheckRequest), global::Grpc.Health.V1Alpha.HealthCheckRequest.Parser, new[]{ "Host", "Service" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Health.V1Alpha.HealthCheckResponse), global::Grpc.Health.V1Alpha.HealthCheckResponse.Parser, new[]{ "Status" }, null, new[]{ typeof(global::Grpc.Health.V1Alpha.HealthCheckResponse.Types.ServingStatus) }, null) + })); } + #endregion + } #region Messages [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -50,7 +49,7 @@ namespace Grpc.Health.V1Alpha { public static pb::MessageParser<HealthCheckRequest> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Health.V1Alpha.Proto.Health.Descriptor.MessageTypes[0]; } + get { return global::Grpc.Health.V1Alpha.HealthReflection.Descriptor.MessageTypes[0]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -72,6 +71,7 @@ namespace Grpc.Health.V1Alpha { return new HealthCheckRequest(this); } + /// <summary>Field number for the "host" field.</summary> public const int HostFieldNumber = 1; private string host_ = ""; public string Host { @@ -81,6 +81,7 @@ namespace Grpc.Health.V1Alpha { } } + /// <summary>Field number for the "service" field.</summary> public const int ServiceFieldNumber = 2; private string service_ = ""; public string Service { @@ -114,7 +115,7 @@ namespace Grpc.Health.V1Alpha { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -178,7 +179,7 @@ namespace Grpc.Health.V1Alpha { public static pb::MessageParser<HealthCheckResponse> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Health.V1Alpha.Proto.Health.Descriptor.MessageTypes[1]; } + get { return global::Grpc.Health.V1Alpha.HealthReflection.Descriptor.MessageTypes[1]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -199,6 +200,7 @@ namespace Grpc.Health.V1Alpha { return new HealthCheckResponse(this); } + /// <summary>Field number for the "status" field.</summary> public const int StatusFieldNumber = 1; private global::Grpc.Health.V1Alpha.HealthCheckResponse.Types.ServingStatus status_ = global::Grpc.Health.V1Alpha.HealthCheckResponse.Types.ServingStatus.UNKNOWN; public global::Grpc.Health.V1Alpha.HealthCheckResponse.Types.ServingStatus Status { @@ -230,7 +232,7 @@ namespace Grpc.Health.V1Alpha { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -273,6 +275,7 @@ namespace Grpc.Health.V1Alpha { } #region Nested types + /// <summary>Container for nested types declared in the HealthCheckResponse message type.</summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public static partial class Types { public enum ServingStatus { diff --git a/src/csharp/Grpc.HealthCheck/HealthGrpc.cs b/src/csharp/Grpc.HealthCheck/HealthGrpc.cs index da721ce5f6ae45d9a27f09c375e7dc4f08388cb8..882edd56270b6fbb2173c5b6cfcf058a3dd7e8df 100644 --- a/src/csharp/Grpc.HealthCheck/HealthGrpc.cs +++ b/src/csharp/Grpc.HealthCheck/HealthGrpc.cs @@ -25,7 +25,7 @@ namespace Grpc.Health.V1Alpha { // service descriptor public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor { - get { return global::Grpc.Health.V1Alpha.Proto.Health.Descriptor.Services[0]; } + get { return global::Grpc.Health.V1Alpha.HealthReflection.Descriptor.Services[0]; } } // client interface diff --git a/src/csharp/Grpc.HealthCheck/packages.config b/src/csharp/Grpc.HealthCheck/packages.config index cafff6123a3a14c8f63d9847936e9e0c91afaf2e..04eb42d1aa0cd5e3ac32c91f6a141c6a9bc3bf6e 100644 --- a/src/csharp/Grpc.HealthCheck/packages.config +++ b/src/csharp/Grpc.HealthCheck/packages.config @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <packages> - <package id="Google.Protobuf" version="3.0.0-alpha4" targetFramework="net45" /> + <package id="Google.Protobuf" version="3.0.0-beta2" targetFramework="net45" /> <package id="Ix-Async" version="1.2.3" targetFramework="net45" /> </packages> \ No newline at end of file diff --git a/src/csharp/Grpc.IntegrationTesting.Client/Grpc.IntegrationTesting.Client.csproj b/src/csharp/Grpc.IntegrationTesting.Client/Grpc.IntegrationTesting.Client.csproj index 8bc2082a1da0f736e833e9f442800449f2f44b12..74d73e88d169599016c05d647b97b84ed3c6f6e9 100644 --- a/src/csharp/Grpc.IntegrationTesting.Client/Grpc.IntegrationTesting.Client.csproj +++ b/src/csharp/Grpc.IntegrationTesting.Client/Grpc.IntegrationTesting.Client.csproj @@ -36,7 +36,7 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="BouncyCastle.Crypto, Version=1.7.4137.9688, Culture=neutral, PublicKeyToken=a4292a325f69b123, processorArchitecture=MSIL"> diff --git a/src/csharp/Grpc.IntegrationTesting.QpsWorker/Grpc.IntegrationTesting.QpsWorker.csproj b/src/csharp/Grpc.IntegrationTesting.QpsWorker/Grpc.IntegrationTesting.QpsWorker.csproj index 342eead1a3c2e95d2e2acb18780ce39545e218fc..0dc2751b04564f3e7998a0923a2873496a332334 100644 --- a/src/csharp/Grpc.IntegrationTesting.QpsWorker/Grpc.IntegrationTesting.QpsWorker.csproj +++ b/src/csharp/Grpc.IntegrationTesting.QpsWorker/Grpc.IntegrationTesting.QpsWorker.csproj @@ -34,7 +34,7 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="System" /> diff --git a/src/csharp/Grpc.IntegrationTesting.Server/Grpc.IntegrationTesting.Server.csproj b/src/csharp/Grpc.IntegrationTesting.Server/Grpc.IntegrationTesting.Server.csproj index 1eadbeb9206fb99dbf8f46df8b62f82e5079908e..f877b7fba26bcbc4aeaa4f6d978ea376a1e2b2d7 100644 --- a/src/csharp/Grpc.IntegrationTesting.Server/Grpc.IntegrationTesting.Server.csproj +++ b/src/csharp/Grpc.IntegrationTesting.Server/Grpc.IntegrationTesting.Server.csproj @@ -36,7 +36,7 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="BouncyCastle.Crypto, Version=1.7.4137.9688, Culture=neutral, PublicKeyToken=a4292a325f69b123, processorArchitecture=MSIL"> diff --git a/src/csharp/Grpc.IntegrationTesting/Control.cs b/src/csharp/Grpc.IntegrationTesting/Control.cs index 4764e1072bdbb93baf49626799ce91d66b54bd63..b90243c2bd501c49c89e0d1e0b45d9bb131213c5 100644 --- a/src/csharp/Grpc.IntegrationTesting/Control.cs +++ b/src/csharp/Grpc.IntegrationTesting/Control.cs @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: test/proto/benchmarks/control.proto +// source: src/proto/grpc/testing/control.proto #pragma warning disable 1591, 0612, 3021 #region Designer generated code @@ -9,78 +9,80 @@ using pbr = global::Google.Protobuf.Reflection; using scg = global::System.Collections.Generic; namespace Grpc.Testing { + /// <summary>Holder for reflection information generated from src/proto/grpc/testing/control.proto</summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - public static partial class Control { + public static partial class ControlReflection { #region Descriptor + /// <summary>File descriptor for src/proto/grpc/testing/control.proto</summary> public static pbr::FileDescriptor Descriptor { get { return descriptor; } } private static pbr::FileDescriptor descriptor; - static Control() { + static ControlReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "CiN0ZXN0L3Byb3RvL2JlbmNobWFya3MvY29udHJvbC5wcm90bxIMZ3JwYy50", - "ZXN0aW5nGiR0ZXN0L3Byb3RvL2JlbmNobWFya3MvcGF5bG9hZHMucHJvdG8a", - "IXRlc3QvcHJvdG8vYmVuY2htYXJrcy9zdGF0cy5wcm90byIlCg1Qb2lzc29u", - "UGFyYW1zEhQKDG9mZmVyZWRfbG9hZBgBIAEoASJBCg1Vbmlmb3JtUGFyYW1z", - "EhcKD2ludGVyYXJyaXZhbF9sbxgBIAEoARIXCg9pbnRlcmFycml2YWxfaGkY", - "AiABKAEiKwoTRGV0ZXJtaW5pc3RpY1BhcmFtcxIUCgxvZmZlcmVkX2xvYWQY", - "ASABKAEiOAoMUGFyZXRvUGFyYW1zEhkKEWludGVyYXJyaXZhbF9iYXNlGAEg", - "ASgBEg0KBWFscGhhGAIgASgBIhIKEENsb3NlZExvb3BQYXJhbXMijgIKCkxv", - "YWRQYXJhbXMSNQoLY2xvc2VkX2xvb3AYASABKAsyHi5ncnBjLnRlc3Rpbmcu", - "Q2xvc2VkTG9vcFBhcmFtc0gAEi4KB3BvaXNzb24YAiABKAsyGy5ncnBjLnRl", - "c3RpbmcuUG9pc3NvblBhcmFtc0gAEi4KB3VuaWZvcm0YAyABKAsyGy5ncnBj", - "LnRlc3RpbmcuVW5pZm9ybVBhcmFtc0gAEjMKBmRldGVybRgEIAEoCzIhLmdy", - "cGMudGVzdGluZy5EZXRlcm1pbmlzdGljUGFyYW1zSAASLAoGcGFyZXRvGAUg", - "ASgLMhouZ3JwYy50ZXN0aW5nLlBhcmV0b1BhcmFtc0gAQgYKBGxvYWQiQwoO", - "U2VjdXJpdHlQYXJhbXMSEwoLdXNlX3Rlc3RfY2EYASABKAgSHAoUc2VydmVy", - "X2hvc3Rfb3ZlcnJpZGUYAiABKAkirwMKDENsaWVudENvbmZpZxIWCg5zZXJ2", - "ZXJfdGFyZ2V0cxgBIAMoCRItCgtjbGllbnRfdHlwZRgCIAEoDjIYLmdycGMu", - "dGVzdGluZy5DbGllbnRUeXBlEjUKD3NlY3VyaXR5X3BhcmFtcxgDIAEoCzIc", - "LmdycGMudGVzdGluZy5TZWN1cml0eVBhcmFtcxIkChxvdXRzdGFuZGluZ19y", - "cGNzX3Blcl9jaGFubmVsGAQgASgFEhcKD2NsaWVudF9jaGFubmVscxgFIAEo", - "BRIcChRhc3luY19jbGllbnRfdGhyZWFkcxgHIAEoBRInCghycGNfdHlwZRgI", - "IAEoDjIVLmdycGMudGVzdGluZy5ScGNUeXBlEi0KC2xvYWRfcGFyYW1zGAog", - "ASgLMhguZ3JwYy50ZXN0aW5nLkxvYWRQYXJhbXMSMwoOcGF5bG9hZF9jb25m", - "aWcYCyABKAsyGy5ncnBjLnRlc3RpbmcuUGF5bG9hZENvbmZpZxI3ChBoaXN0", - "b2dyYW1fcGFyYW1zGAwgASgLMh0uZ3JwYy50ZXN0aW5nLkhpc3RvZ3JhbVBh", - "cmFtcyI4CgxDbGllbnRTdGF0dXMSKAoFc3RhdHMYASABKAsyGS5ncnBjLnRl", - "c3RpbmcuQ2xpZW50U3RhdHMiFQoETWFyaxINCgVyZXNldBgBIAEoCCJoCgpD", - "bGllbnRBcmdzEisKBXNldHVwGAEgASgLMhouZ3JwYy50ZXN0aW5nLkNsaWVu", - "dENvbmZpZ0gAEiIKBG1hcmsYAiABKAsyEi5ncnBjLnRlc3RpbmcuTWFya0gA", - "QgkKB2FyZ3R5cGUi9wEKDFNlcnZlckNvbmZpZxItCgtzZXJ2ZXJfdHlwZRgB", - "IAEoDjIYLmdycGMudGVzdGluZy5TZXJ2ZXJUeXBlEjUKD3NlY3VyaXR5X3Bh", - "cmFtcxgCIAEoCzIcLmdycGMudGVzdGluZy5TZWN1cml0eVBhcmFtcxIMCgRo", - "b3N0GAMgASgJEgwKBHBvcnQYBCABKAUSHAoUYXN5bmNfc2VydmVyX3RocmVh", - "ZHMYByABKAUSEgoKY29yZV9saW1pdBgIIAEoBRIzCg5wYXlsb2FkX2NvbmZp", - "ZxgJIAEoCzIbLmdycGMudGVzdGluZy5QYXlsb2FkQ29uZmlnImgKClNlcnZl", - "ckFyZ3MSKwoFc2V0dXAYASABKAsyGi5ncnBjLnRlc3RpbmcuU2VydmVyQ29u", - "ZmlnSAASIgoEbWFyaxgCIAEoCzISLmdycGMudGVzdGluZy5NYXJrSABCCQoH", - "YXJndHlwZSJVCgxTZXJ2ZXJTdGF0dXMSKAoFc3RhdHMYASABKAsyGS5ncnBj", - "LnRlc3RpbmcuU2VydmVyU3RhdHMSDAoEcG9ydBgCIAEoBRINCgVjb3JlcxgD", - "IAEoBSovCgpDbGllbnRUeXBlEg8KC1NZTkNfQ0xJRU5UEAASEAoMQVNZTkNf", - "Q0xJRU5UEAEqLwoKU2VydmVyVHlwZRIPCgtTWU5DX1NFUlZFUhAAEhAKDEFT", - "WU5DX1NFUlZFUhABKiMKB1JwY1R5cGUSCQoFVU5BUlkQABINCglTVFJFQU1J", - "TkcQAWIGcHJvdG8z")); - descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData, - new pbr::FileDescriptor[] { global::Grpc.Testing.Payloads.Descriptor, global::Grpc.Testing.Stats.Descriptor, }, + "CiRzcmMvcHJvdG8vZ3JwYy90ZXN0aW5nL2NvbnRyb2wucHJvdG8SDGdycGMu", + "dGVzdGluZxolc3JjL3Byb3RvL2dycGMvdGVzdGluZy9wYXlsb2Fkcy5wcm90", + "bxoic3JjL3Byb3RvL2dycGMvdGVzdGluZy9zdGF0cy5wcm90byIlCg1Qb2lz", + "c29uUGFyYW1zEhQKDG9mZmVyZWRfbG9hZBgBIAEoASJBCg1Vbmlmb3JtUGFy", + "YW1zEhcKD2ludGVyYXJyaXZhbF9sbxgBIAEoARIXCg9pbnRlcmFycml2YWxf", + "aGkYAiABKAEiKwoTRGV0ZXJtaW5pc3RpY1BhcmFtcxIUCgxvZmZlcmVkX2xv", + "YWQYASABKAEiOAoMUGFyZXRvUGFyYW1zEhkKEWludGVyYXJyaXZhbF9iYXNl", + "GAEgASgBEg0KBWFscGhhGAIgASgBIhIKEENsb3NlZExvb3BQYXJhbXMijgIK", + "CkxvYWRQYXJhbXMSNQoLY2xvc2VkX2xvb3AYASABKAsyHi5ncnBjLnRlc3Rp", + "bmcuQ2xvc2VkTG9vcFBhcmFtc0gAEi4KB3BvaXNzb24YAiABKAsyGy5ncnBj", + "LnRlc3RpbmcuUG9pc3NvblBhcmFtc0gAEi4KB3VuaWZvcm0YAyABKAsyGy5n", + "cnBjLnRlc3RpbmcuVW5pZm9ybVBhcmFtc0gAEjMKBmRldGVybRgEIAEoCzIh", + "LmdycGMudGVzdGluZy5EZXRlcm1pbmlzdGljUGFyYW1zSAASLAoGcGFyZXRv", + "GAUgASgLMhouZ3JwYy50ZXN0aW5nLlBhcmV0b1BhcmFtc0gAQgYKBGxvYWQi", + "QwoOU2VjdXJpdHlQYXJhbXMSEwoLdXNlX3Rlc3RfY2EYASABKAgSHAoUc2Vy", + "dmVyX2hvc3Rfb3ZlcnJpZGUYAiABKAkirwMKDENsaWVudENvbmZpZxIWCg5z", + "ZXJ2ZXJfdGFyZ2V0cxgBIAMoCRItCgtjbGllbnRfdHlwZRgCIAEoDjIYLmdy", + "cGMudGVzdGluZy5DbGllbnRUeXBlEjUKD3NlY3VyaXR5X3BhcmFtcxgDIAEo", + "CzIcLmdycGMudGVzdGluZy5TZWN1cml0eVBhcmFtcxIkChxvdXRzdGFuZGlu", + "Z19ycGNzX3Blcl9jaGFubmVsGAQgASgFEhcKD2NsaWVudF9jaGFubmVscxgF", + "IAEoBRIcChRhc3luY19jbGllbnRfdGhyZWFkcxgHIAEoBRInCghycGNfdHlw", + "ZRgIIAEoDjIVLmdycGMudGVzdGluZy5ScGNUeXBlEi0KC2xvYWRfcGFyYW1z", + "GAogASgLMhguZ3JwYy50ZXN0aW5nLkxvYWRQYXJhbXMSMwoOcGF5bG9hZF9j", + "b25maWcYCyABKAsyGy5ncnBjLnRlc3RpbmcuUGF5bG9hZENvbmZpZxI3ChBo", + "aXN0b2dyYW1fcGFyYW1zGAwgASgLMh0uZ3JwYy50ZXN0aW5nLkhpc3RvZ3Jh", + "bVBhcmFtcyI4CgxDbGllbnRTdGF0dXMSKAoFc3RhdHMYASABKAsyGS5ncnBj", + "LnRlc3RpbmcuQ2xpZW50U3RhdHMiFQoETWFyaxINCgVyZXNldBgBIAEoCCJo", + "CgpDbGllbnRBcmdzEisKBXNldHVwGAEgASgLMhouZ3JwYy50ZXN0aW5nLkNs", + "aWVudENvbmZpZ0gAEiIKBG1hcmsYAiABKAsyEi5ncnBjLnRlc3RpbmcuTWFy", + "a0gAQgkKB2FyZ3R5cGUi9wEKDFNlcnZlckNvbmZpZxItCgtzZXJ2ZXJfdHlw", + "ZRgBIAEoDjIYLmdycGMudGVzdGluZy5TZXJ2ZXJUeXBlEjUKD3NlY3VyaXR5", + "X3BhcmFtcxgCIAEoCzIcLmdycGMudGVzdGluZy5TZWN1cml0eVBhcmFtcxIM", + "CgRob3N0GAMgASgJEgwKBHBvcnQYBCABKAUSHAoUYXN5bmNfc2VydmVyX3Ro", + "cmVhZHMYByABKAUSEgoKY29yZV9saW1pdBgIIAEoBRIzCg5wYXlsb2FkX2Nv", + "bmZpZxgJIAEoCzIbLmdycGMudGVzdGluZy5QYXlsb2FkQ29uZmlnImgKClNl", + "cnZlckFyZ3MSKwoFc2V0dXAYASABKAsyGi5ncnBjLnRlc3RpbmcuU2VydmVy", + "Q29uZmlnSAASIgoEbWFyaxgCIAEoCzISLmdycGMudGVzdGluZy5NYXJrSABC", + "CQoHYXJndHlwZSJVCgxTZXJ2ZXJTdGF0dXMSKAoFc3RhdHMYASABKAsyGS5n", + "cnBjLnRlc3RpbmcuU2VydmVyU3RhdHMSDAoEcG9ydBgCIAEoBRINCgVjb3Jl", + "cxgDIAEoBSovCgpDbGllbnRUeXBlEg8KC1NZTkNfQ0xJRU5UEAASEAoMQVNZ", + "TkNfQ0xJRU5UEAEqLwoKU2VydmVyVHlwZRIPCgtTWU5DX1NFUlZFUhAAEhAK", + "DEFTWU5DX1NFUlZFUhABKiMKB1JwY1R5cGUSCQoFVU5BUlkQABINCglTVFJF", + "QU1JTkcQAWIGcHJvdG8z")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { global::Grpc.Testing.PayloadsReflection.Descriptor, global::Grpc.Testing.StatsReflection.Descriptor, }, new pbr::GeneratedCodeInfo(new[] {typeof(global::Grpc.Testing.ClientType), typeof(global::Grpc.Testing.ServerType), typeof(global::Grpc.Testing.RpcType), }, new pbr::GeneratedCodeInfo[] { - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.PoissonParams), new[]{ "OfferedLoad" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.UniformParams), new[]{ "InterarrivalLo", "InterarrivalHi" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.DeterministicParams), new[]{ "OfferedLoad" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ParetoParams), new[]{ "InterarrivalBase", "Alpha" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ClosedLoopParams), null, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.LoadParams), new[]{ "ClosedLoop", "Poisson", "Uniform", "Determ", "Pareto" }, new[]{ "Load" }, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.SecurityParams), new[]{ "UseTestCa", "ServerHostOverride" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ClientConfig), new[]{ "ServerTargets", "ClientType", "SecurityParams", "OutstandingRpcsPerChannel", "ClientChannels", "AsyncClientThreads", "RpcType", "LoadParams", "PayloadConfig", "HistogramParams" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ClientStatus), new[]{ "Stats" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.Mark), new[]{ "Reset" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ClientArgs), new[]{ "Setup", "Mark" }, new[]{ "Argtype" }, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ServerConfig), new[]{ "ServerType", "SecurityParams", "Host", "Port", "AsyncServerThreads", "CoreLimit", "PayloadConfig" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ServerArgs), new[]{ "Setup", "Mark" }, new[]{ "Argtype" }, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ServerStatus), new[]{ "Stats", "Port", "Cores" }, null, null, null) + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.PoissonParams), global::Grpc.Testing.PoissonParams.Parser, new[]{ "OfferedLoad" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.UniformParams), global::Grpc.Testing.UniformParams.Parser, new[]{ "InterarrivalLo", "InterarrivalHi" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.DeterministicParams), global::Grpc.Testing.DeterministicParams.Parser, new[]{ "OfferedLoad" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ParetoParams), global::Grpc.Testing.ParetoParams.Parser, new[]{ "InterarrivalBase", "Alpha" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ClosedLoopParams), global::Grpc.Testing.ClosedLoopParams.Parser, null, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.LoadParams), global::Grpc.Testing.LoadParams.Parser, new[]{ "ClosedLoop", "Poisson", "Uniform", "Determ", "Pareto" }, new[]{ "Load" }, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.SecurityParams), global::Grpc.Testing.SecurityParams.Parser, new[]{ "UseTestCa", "ServerHostOverride" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ClientConfig), global::Grpc.Testing.ClientConfig.Parser, new[]{ "ServerTargets", "ClientType", "SecurityParams", "OutstandingRpcsPerChannel", "ClientChannels", "AsyncClientThreads", "RpcType", "LoadParams", "PayloadConfig", "HistogramParams" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ClientStatus), global::Grpc.Testing.ClientStatus.Parser, new[]{ "Stats" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.Mark), global::Grpc.Testing.Mark.Parser, new[]{ "Reset" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ClientArgs), global::Grpc.Testing.ClientArgs.Parser, new[]{ "Setup", "Mark" }, new[]{ "Argtype" }, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ServerConfig), global::Grpc.Testing.ServerConfig.Parser, new[]{ "ServerType", "SecurityParams", "Host", "Port", "AsyncServerThreads", "CoreLimit", "PayloadConfig" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ServerArgs), global::Grpc.Testing.ServerArgs.Parser, new[]{ "Setup", "Mark" }, new[]{ "Argtype" }, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ServerStatus), global::Grpc.Testing.ServerStatus.Parser, new[]{ "Stats", "Port", "Cores" }, null, null, null) })); } #endregion @@ -105,13 +107,17 @@ namespace Grpc.Testing { #endregion #region Messages + /// <summary> + /// Parameters of poisson process distribution, which is a good representation + /// of activity coming in from independent identical stationary sources. + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class PoissonParams : pb::IMessage<PoissonParams> { private static readonly pb::MessageParser<PoissonParams> _parser = new pb::MessageParser<PoissonParams>(() => new PoissonParams()); public static pb::MessageParser<PoissonParams> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[0]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[0]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -132,8 +138,12 @@ namespace Grpc.Testing { return new PoissonParams(this); } + /// <summary>Field number for the "offered_load" field.</summary> public const int OfferedLoadFieldNumber = 1; private double offeredLoad_; + /// <summary> + /// The rate of arrivals (a.k.a. lambda parameter of the exp distribution). + /// </summary> public double OfferedLoad { get { return offeredLoad_; } set { @@ -163,7 +173,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -213,7 +223,7 @@ namespace Grpc.Testing { public static pb::MessageParser<UniformParams> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[1]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[1]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -235,6 +245,7 @@ namespace Grpc.Testing { return new UniformParams(this); } + /// <summary>Field number for the "interarrival_lo" field.</summary> public const int InterarrivalLoFieldNumber = 1; private double interarrivalLo_; public double InterarrivalLo { @@ -244,6 +255,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "interarrival_hi" field.</summary> public const int InterarrivalHiFieldNumber = 2; private double interarrivalHi_; public double InterarrivalHi { @@ -277,7 +289,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -341,7 +353,7 @@ namespace Grpc.Testing { public static pb::MessageParser<DeterministicParams> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[2]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[2]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -362,6 +374,7 @@ namespace Grpc.Testing { return new DeterministicParams(this); } + /// <summary>Field number for the "offered_load" field.</summary> public const int OfferedLoadFieldNumber = 1; private double offeredLoad_; public double OfferedLoad { @@ -393,7 +406,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -443,7 +456,7 @@ namespace Grpc.Testing { public static pb::MessageParser<ParetoParams> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[3]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[3]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -465,6 +478,7 @@ namespace Grpc.Testing { return new ParetoParams(this); } + /// <summary>Field number for the "interarrival_base" field.</summary> public const int InterarrivalBaseFieldNumber = 1; private double interarrivalBase_; public double InterarrivalBase { @@ -474,6 +488,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "alpha" field.</summary> public const int AlphaFieldNumber = 2; private double alpha_; public double Alpha { @@ -507,7 +522,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -565,13 +580,17 @@ namespace Grpc.Testing { } + /// <summary> + /// Once an RPC finishes, immediately start a new one. + /// No configuration parameters needed. + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class ClosedLoopParams : pb::IMessage<ClosedLoopParams> { private static readonly pb::MessageParser<ClosedLoopParams> _parser = new pb::MessageParser<ClosedLoopParams>(() => new ClosedLoopParams()); public static pb::MessageParser<ClosedLoopParams> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[4]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[4]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -611,7 +630,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -647,7 +666,7 @@ namespace Grpc.Testing { public static pb::MessageParser<LoadParams> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[5]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[5]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -685,6 +704,7 @@ namespace Grpc.Testing { return new LoadParams(this); } + /// <summary>Field number for the "closed_loop" field.</summary> public const int ClosedLoopFieldNumber = 1; public global::Grpc.Testing.ClosedLoopParams ClosedLoop { get { return loadCase_ == LoadOneofCase.ClosedLoop ? (global::Grpc.Testing.ClosedLoopParams) load_ : null; } @@ -694,6 +714,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "poisson" field.</summary> public const int PoissonFieldNumber = 2; public global::Grpc.Testing.PoissonParams Poisson { get { return loadCase_ == LoadOneofCase.Poisson ? (global::Grpc.Testing.PoissonParams) load_ : null; } @@ -703,6 +724,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "uniform" field.</summary> public const int UniformFieldNumber = 3; public global::Grpc.Testing.UniformParams Uniform { get { return loadCase_ == LoadOneofCase.Uniform ? (global::Grpc.Testing.UniformParams) load_ : null; } @@ -712,6 +734,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "determ" field.</summary> public const int DetermFieldNumber = 4; public global::Grpc.Testing.DeterministicParams Determ { get { return loadCase_ == LoadOneofCase.Determ ? (global::Grpc.Testing.DeterministicParams) load_ : null; } @@ -721,6 +744,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "pareto" field.</summary> public const int ParetoFieldNumber = 5; public global::Grpc.Testing.ParetoParams Pareto { get { return loadCase_ == LoadOneofCase.Pareto ? (global::Grpc.Testing.ParetoParams) load_ : null; } @@ -731,6 +755,7 @@ namespace Grpc.Testing { } private object load_; + /// <summary>Enum of possible cases for the "load" oneof.</summary> public enum LoadOneofCase { None = 0, ClosedLoop = 1, @@ -765,6 +790,7 @@ namespace Grpc.Testing { if (!object.Equals(Uniform, other.Uniform)) return false; if (!object.Equals(Determ, other.Determ)) return false; if (!object.Equals(Pareto, other.Pareto)) return false; + if (LoadCase != other.LoadCase) return false; return true; } @@ -775,11 +801,12 @@ namespace Grpc.Testing { if (loadCase_ == LoadOneofCase.Uniform) hash ^= Uniform.GetHashCode(); if (loadCase_ == LoadOneofCase.Determ) hash ^= Determ.GetHashCode(); if (loadCase_ == LoadOneofCase.Pareto) hash ^= Pareto.GetHashCode(); + hash ^= (int) loadCase_; return hash; } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -907,13 +934,16 @@ namespace Grpc.Testing { } + /// <summary> + /// presence of SecurityParams implies use of TLS + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class SecurityParams : pb::IMessage<SecurityParams> { private static readonly pb::MessageParser<SecurityParams> _parser = new pb::MessageParser<SecurityParams>(() => new SecurityParams()); public static pb::MessageParser<SecurityParams> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[6]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[6]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -935,6 +965,7 @@ namespace Grpc.Testing { return new SecurityParams(this); } + /// <summary>Field number for the "use_test_ca" field.</summary> public const int UseTestCaFieldNumber = 1; private bool useTestCa_; public bool UseTestCa { @@ -944,6 +975,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "server_host_override" field.</summary> public const int ServerHostOverrideFieldNumber = 2; private string serverHostOverride_ = ""; public string ServerHostOverride { @@ -977,7 +1009,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -1041,7 +1073,7 @@ namespace Grpc.Testing { public static pb::MessageParser<ClientConfig> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[7]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[7]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -1071,14 +1103,19 @@ namespace Grpc.Testing { return new ClientConfig(this); } + /// <summary>Field number for the "server_targets" field.</summary> public const int ServerTargetsFieldNumber = 1; private static readonly pb::FieldCodec<string> _repeated_serverTargets_codec = pb::FieldCodec.ForString(10); private readonly pbc::RepeatedField<string> serverTargets_ = new pbc::RepeatedField<string>(); + /// <summary> + /// List of targets to connect to. At least one target needs to be specified. + /// </summary> public pbc::RepeatedField<string> ServerTargets { get { return serverTargets_; } } + /// <summary>Field number for the "client_type" field.</summary> public const int ClientTypeFieldNumber = 2; private global::Grpc.Testing.ClientType clientType_ = global::Grpc.Testing.ClientType.SYNC_CLIENT; public global::Grpc.Testing.ClientType ClientType { @@ -1088,6 +1125,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "security_params" field.</summary> public const int SecurityParamsFieldNumber = 3; private global::Grpc.Testing.SecurityParams securityParams_; public global::Grpc.Testing.SecurityParams SecurityParams { @@ -1097,8 +1135,13 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "outstanding_rpcs_per_channel" field.</summary> public const int OutstandingRpcsPerChannelFieldNumber = 4; private int outstandingRpcsPerChannel_; + /// <summary> + /// How many concurrent RPCs to start for each channel. + /// For synchronous client, use a separate thread for each outstanding RPC. + /// </summary> public int OutstandingRpcsPerChannel { get { return outstandingRpcsPerChannel_; } set { @@ -1106,8 +1149,13 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "client_channels" field.</summary> public const int ClientChannelsFieldNumber = 5; private int clientChannels_; + /// <summary> + /// Number of independent client channels to create. + /// i-th channel will connect to server_target[i % server_targets.size()] + /// </summary> public int ClientChannels { get { return clientChannels_; } set { @@ -1115,8 +1163,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "async_client_threads" field.</summary> public const int AsyncClientThreadsFieldNumber = 7; private int asyncClientThreads_; + /// <summary> + /// Only for async client. Number of threads to use to start/manage RPCs. + /// </summary> public int AsyncClientThreads { get { return asyncClientThreads_; } set { @@ -1124,6 +1176,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "rpc_type" field.</summary> public const int RpcTypeFieldNumber = 8; private global::Grpc.Testing.RpcType rpcType_ = global::Grpc.Testing.RpcType.UNARY; public global::Grpc.Testing.RpcType RpcType { @@ -1133,8 +1186,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "load_params" field.</summary> public const int LoadParamsFieldNumber = 10; private global::Grpc.Testing.LoadParams loadParams_; + /// <summary> + /// The requested load for the entire client (aggregated over all the threads). + /// </summary> public global::Grpc.Testing.LoadParams LoadParams { get { return loadParams_; } set { @@ -1142,6 +1199,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "payload_config" field.</summary> public const int PayloadConfigFieldNumber = 11; private global::Grpc.Testing.PayloadConfig payloadConfig_; public global::Grpc.Testing.PayloadConfig PayloadConfig { @@ -1151,6 +1209,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "histogram_params" field.</summary> public const int HistogramParamsFieldNumber = 12; private global::Grpc.Testing.HistogramParams histogramParams_; public global::Grpc.Testing.HistogramParams HistogramParams { @@ -1200,7 +1259,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -1393,7 +1452,7 @@ namespace Grpc.Testing { public static pb::MessageParser<ClientStatus> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[8]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[8]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -1414,6 +1473,7 @@ namespace Grpc.Testing { return new ClientStatus(this); } + /// <summary>Field number for the "stats" field.</summary> public const int StatsFieldNumber = 1; private global::Grpc.Testing.ClientStats stats_; public global::Grpc.Testing.ClientStats Stats { @@ -1445,7 +1505,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -1495,13 +1555,16 @@ namespace Grpc.Testing { } + /// <summary> + /// Request current stats + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class Mark : pb::IMessage<Mark> { private static readonly pb::MessageParser<Mark> _parser = new pb::MessageParser<Mark>(() => new Mark()); public static pb::MessageParser<Mark> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[9]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[9]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -1522,8 +1585,12 @@ namespace Grpc.Testing { return new Mark(this); } + /// <summary>Field number for the "reset" field.</summary> public const int ResetFieldNumber = 1; private bool reset_; + /// <summary> + /// if true, the stats will be reset after taking their snapshot. + /// </summary> public bool Reset { get { return reset_; } set { @@ -1553,7 +1620,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -1603,7 +1670,7 @@ namespace Grpc.Testing { public static pb::MessageParser<ClientArgs> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[10]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[10]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -1632,6 +1699,7 @@ namespace Grpc.Testing { return new ClientArgs(this); } + /// <summary>Field number for the "setup" field.</summary> public const int SetupFieldNumber = 1; public global::Grpc.Testing.ClientConfig Setup { get { return argtypeCase_ == ArgtypeOneofCase.Setup ? (global::Grpc.Testing.ClientConfig) argtype_ : null; } @@ -1641,6 +1709,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "mark" field.</summary> public const int MarkFieldNumber = 2; public global::Grpc.Testing.Mark Mark { get { return argtypeCase_ == ArgtypeOneofCase.Mark ? (global::Grpc.Testing.Mark) argtype_ : null; } @@ -1651,6 +1720,7 @@ namespace Grpc.Testing { } private object argtype_; + /// <summary>Enum of possible cases for the "argtype" oneof.</summary> public enum ArgtypeOneofCase { None = 0, Setup = 1, @@ -1679,6 +1749,7 @@ namespace Grpc.Testing { } if (!object.Equals(Setup, other.Setup)) return false; if (!object.Equals(Mark, other.Mark)) return false; + if (ArgtypeCase != other.ArgtypeCase) return false; return true; } @@ -1686,11 +1757,12 @@ namespace Grpc.Testing { int hash = 1; if (argtypeCase_ == ArgtypeOneofCase.Setup) hash ^= Setup.GetHashCode(); if (argtypeCase_ == ArgtypeOneofCase.Mark) hash ^= Mark.GetHashCode(); + hash ^= (int) argtypeCase_; return hash; } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -1767,7 +1839,7 @@ namespace Grpc.Testing { public static pb::MessageParser<ServerConfig> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[11]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[11]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -1794,6 +1866,7 @@ namespace Grpc.Testing { return new ServerConfig(this); } + /// <summary>Field number for the "server_type" field.</summary> public const int ServerTypeFieldNumber = 1; private global::Grpc.Testing.ServerType serverType_ = global::Grpc.Testing.ServerType.SYNC_SERVER; public global::Grpc.Testing.ServerType ServerType { @@ -1803,6 +1876,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "security_params" field.</summary> public const int SecurityParamsFieldNumber = 2; private global::Grpc.Testing.SecurityParams securityParams_; public global::Grpc.Testing.SecurityParams SecurityParams { @@ -1812,8 +1886,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "host" field.</summary> public const int HostFieldNumber = 3; private string host_ = ""; + /// <summary> + /// Host on which to listen. + /// </summary> public string Host { get { return host_; } set { @@ -1821,8 +1899,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "port" field.</summary> public const int PortFieldNumber = 4; private int port_; + /// <summary> + /// Port on which to listen. Zero means pick unused port. + /// </summary> public int Port { get { return port_; } set { @@ -1830,8 +1912,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "async_server_threads" field.</summary> public const int AsyncServerThreadsFieldNumber = 7; private int asyncServerThreads_; + /// <summary> + /// Only for async server. Number of threads used to serve the requests. + /// </summary> public int AsyncServerThreads { get { return asyncServerThreads_; } set { @@ -1839,8 +1925,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "core_limit" field.</summary> public const int CoreLimitFieldNumber = 8; private int coreLimit_; + /// <summary> + /// restrict core usage, currently unused + /// </summary> public int CoreLimit { get { return coreLimit_; } set { @@ -1848,6 +1938,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "payload_config" field.</summary> public const int PayloadConfigFieldNumber = 9; private global::Grpc.Testing.PayloadConfig payloadConfig_; public global::Grpc.Testing.PayloadConfig PayloadConfig { @@ -1891,7 +1982,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -2037,7 +2128,7 @@ namespace Grpc.Testing { public static pb::MessageParser<ServerArgs> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[12]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[12]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -2066,6 +2157,7 @@ namespace Grpc.Testing { return new ServerArgs(this); } + /// <summary>Field number for the "setup" field.</summary> public const int SetupFieldNumber = 1; public global::Grpc.Testing.ServerConfig Setup { get { return argtypeCase_ == ArgtypeOneofCase.Setup ? (global::Grpc.Testing.ServerConfig) argtype_ : null; } @@ -2075,6 +2167,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "mark" field.</summary> public const int MarkFieldNumber = 2; public global::Grpc.Testing.Mark Mark { get { return argtypeCase_ == ArgtypeOneofCase.Mark ? (global::Grpc.Testing.Mark) argtype_ : null; } @@ -2085,6 +2178,7 @@ namespace Grpc.Testing { } private object argtype_; + /// <summary>Enum of possible cases for the "argtype" oneof.</summary> public enum ArgtypeOneofCase { None = 0, Setup = 1, @@ -2113,6 +2207,7 @@ namespace Grpc.Testing { } if (!object.Equals(Setup, other.Setup)) return false; if (!object.Equals(Mark, other.Mark)) return false; + if (ArgtypeCase != other.ArgtypeCase) return false; return true; } @@ -2120,11 +2215,12 @@ namespace Grpc.Testing { int hash = 1; if (argtypeCase_ == ArgtypeOneofCase.Setup) hash ^= Setup.GetHashCode(); if (argtypeCase_ == ArgtypeOneofCase.Mark) hash ^= Mark.GetHashCode(); + hash ^= (int) argtypeCase_; return hash; } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -2201,7 +2297,7 @@ namespace Grpc.Testing { public static pb::MessageParser<ServerStatus> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Control.Descriptor.MessageTypes[13]; } + get { return global::Grpc.Testing.ControlReflection.Descriptor.MessageTypes[13]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -2224,6 +2320,7 @@ namespace Grpc.Testing { return new ServerStatus(this); } + /// <summary>Field number for the "stats" field.</summary> public const int StatsFieldNumber = 1; private global::Grpc.Testing.ServerStats stats_; public global::Grpc.Testing.ServerStats Stats { @@ -2233,8 +2330,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "port" field.</summary> public const int PortFieldNumber = 2; private int port_; + /// <summary> + /// the port bound by the server + /// </summary> public int Port { get { return port_; } set { @@ -2242,8 +2343,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "cores" field.</summary> public const int CoresFieldNumber = 3; private int cores_; + /// <summary> + /// Number of cores on the server. See gpr_cpu_num_cores. + /// </summary> public int Cores { get { return cores_; } set { @@ -2277,7 +2382,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { diff --git a/src/csharp/Grpc.IntegrationTesting/Empty.cs b/src/csharp/Grpc.IntegrationTesting/Empty.cs index 9bf2b8f7cf7aa5e6dfff229958bcc2044c1f6509..4323c5a09f29f700e90bf92f7da1dfab6ed5da3c 100644 --- a/src/csharp/Grpc.IntegrationTesting/Empty.cs +++ b/src/csharp/Grpc.IntegrationTesting/Empty.cs @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: test/proto/empty.proto +// source: src/proto/grpc/testing/empty.proto #pragma warning disable 1591, 0612, 3021 #region Designer generated code @@ -9,40 +9,48 @@ using pbr = global::Google.Protobuf.Reflection; using scg = global::System.Collections.Generic; namespace Grpc.Testing { - namespace Proto { - - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - public static partial class Empty { - - #region Descriptor - public static pbr::FileDescriptor Descriptor { - get { return descriptor; } - } - private static pbr::FileDescriptor descriptor; - - static Empty() { - byte[] descriptorData = global::System.Convert.FromBase64String( - string.Concat( - "ChZ0ZXN0L3Byb3RvL2VtcHR5LnByb3RvEgxncnBjLnRlc3RpbmciBwoFRW1w", - "dHliBnByb3RvMw==")); - descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData, - new pbr::FileDescriptor[] { }, - new pbr::GeneratedCodeInfo(null, new pbr::GeneratedCodeInfo[] { - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.Empty), null, null, null, null) - })); - } - #endregion + /// <summary>Holder for reflection information generated from src/proto/grpc/testing/empty.proto</summary> + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public static partial class EmptyReflection { + #region Descriptor + /// <summary>File descriptor for src/proto/grpc/testing/empty.proto</summary> + public static pbr::FileDescriptor Descriptor { + get { return descriptor; } + } + private static pbr::FileDescriptor descriptor; + + static EmptyReflection() { + byte[] descriptorData = global::System.Convert.FromBase64String( + string.Concat( + "CiJzcmMvcHJvdG8vZ3JwYy90ZXN0aW5nL2VtcHR5LnByb3RvEgxncnBjLnRl", + "c3RpbmciBwoFRW1wdHliBnByb3RvMw==")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { }, + new pbr::GeneratedCodeInfo(null, new pbr::GeneratedCodeInfo[] { + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.Empty), global::Grpc.Testing.Empty.Parser, null, null, null, null) + })); } + #endregion + } #region Messages + /// <summary> + /// 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) { }; + /// }; + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class Empty : pb::IMessage<Empty> { private static readonly pb::MessageParser<Empty> _parser = new pb::MessageParser<Empty>(() => new Empty()); public static pb::MessageParser<Empty> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Proto.Empty.Descriptor.MessageTypes[0]; } + get { return global::Grpc.Testing.EmptyReflection.Descriptor.MessageTypes[0]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -82,7 +90,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { diff --git a/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj b/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj index b0d920a34c22dfc72e2537ca125e8ed88161934c..30423313c0141748f9d6c30c36d8701cea495eeb 100644 --- a/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj +++ b/src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj @@ -35,12 +35,16 @@ <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <SignAssembly>True</SignAssembly> - <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile> + <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile> </PropertyGroup> <ItemGroup> <Reference Include="CommandLine"> <HintPath>..\packages\CommandLineParser.1.9.71\lib\net45\CommandLine.dll</HintPath> </Reference> + <Reference Include="Google.Protobuf, Version=3.0.0.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\packages\Google.Protobuf.3.0.0-beta2\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> + </Reference> <Reference Include="Moq"> <HintPath>..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll</HintPath> </Reference> @@ -66,9 +70,6 @@ <Reference Include="Google.Apis.Core"> <HintPath>..\packages\Google.Apis.Core.1.9.3\lib\portable-net40+sl50+win+wpa81+wp80\Google.Apis.Core.dll</HintPath> </Reference> - <Reference Include="Google.Protobuf"> - <HintPath>..\packages\Google.Protobuf.3.0.0-alpha4\lib\portable-net45+netcore45+wpa81+wp8\Google.Protobuf.dll</HintPath> - </Reference> <Reference Include="Microsoft.Threading.Tasks"> <HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath> </Reference> diff --git a/src/csharp/Grpc.IntegrationTesting/Messages.cs b/src/csharp/Grpc.IntegrationTesting/Messages.cs index 51a56f067b5dd669cadb0bf8a846995c30f2d7a8..7ca47860f65b1f64f70c994c04c879b0635a6cc4 100644 --- a/src/csharp/Grpc.IntegrationTesting/Messages.cs +++ b/src/csharp/Grpc.IntegrationTesting/Messages.cs @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: test/proto/messages.proto +// source: src/proto/grpc/testing/messages.proto #pragma warning disable 1591, 0612, 3021 #region Designer generated code @@ -9,73 +9,93 @@ using pbr = global::Google.Protobuf.Reflection; using scg = global::System.Collections.Generic; namespace Grpc.Testing { + /// <summary>Holder for reflection information generated from src/proto/grpc/testing/messages.proto</summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - public static partial class Messages { + public static partial class MessagesReflection { #region Descriptor + /// <summary>File descriptor for src/proto/grpc/testing/messages.proto</summary> public static pbr::FileDescriptor Descriptor { get { return descriptor; } } private static pbr::FileDescriptor descriptor; - static Messages() { + static MessagesReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "Chl0ZXN0L3Byb3RvL21lc3NhZ2VzLnByb3RvEgxncnBjLnRlc3RpbmciQAoH", - "UGF5bG9hZBInCgR0eXBlGAEgASgOMhkuZ3JwYy50ZXN0aW5nLlBheWxvYWRU", - "eXBlEgwKBGJvZHkYAiABKAwiKwoKRWNob1N0YXR1cxIMCgRjb2RlGAEgASgF", - "Eg8KB21lc3NhZ2UYAiABKAkioQIKDVNpbXBsZVJlcXVlc3QSMAoNcmVzcG9u", - "c2VfdHlwZRgBIAEoDjIZLmdycGMudGVzdGluZy5QYXlsb2FkVHlwZRIVCg1y", - "ZXNwb25zZV9zaXplGAIgASgFEiYKB3BheWxvYWQYAyABKAsyFS5ncnBjLnRl", - "c3RpbmcuUGF5bG9hZBIVCg1maWxsX3VzZXJuYW1lGAQgASgIEhgKEGZpbGxf", - "b2F1dGhfc2NvcGUYBSABKAgSOwoUcmVzcG9uc2VfY29tcHJlc3Npb24YBiAB", - "KA4yHS5ncnBjLnRlc3RpbmcuQ29tcHJlc3Npb25UeXBlEjEKD3Jlc3BvbnNl", - "X3N0YXR1cxgHIAEoCzIYLmdycGMudGVzdGluZy5FY2hvU3RhdHVzIl8KDlNp", - "bXBsZVJlc3BvbnNlEiYKB3BheWxvYWQYASABKAsyFS5ncnBjLnRlc3Rpbmcu", - "UGF5bG9hZBIQCgh1c2VybmFtZRgCIAEoCRITCgtvYXV0aF9zY29wZRgDIAEo", - "CSJDChlTdHJlYW1pbmdJbnB1dENhbGxSZXF1ZXN0EiYKB3BheWxvYWQYASAB", - "KAsyFS5ncnBjLnRlc3RpbmcuUGF5bG9hZCI9ChpTdHJlYW1pbmdJbnB1dENh", - "bGxSZXNwb25zZRIfChdhZ2dyZWdhdGVkX3BheWxvYWRfc2l6ZRgBIAEoBSI3", - "ChJSZXNwb25zZVBhcmFtZXRlcnMSDAoEc2l6ZRgBIAEoBRITCgtpbnRlcnZh", - "bF91cxgCIAEoBSKlAgoaU3RyZWFtaW5nT3V0cHV0Q2FsbFJlcXVlc3QSMAoN", - "cmVzcG9uc2VfdHlwZRgBIAEoDjIZLmdycGMudGVzdGluZy5QYXlsb2FkVHlw", - "ZRI9ChNyZXNwb25zZV9wYXJhbWV0ZXJzGAIgAygLMiAuZ3JwYy50ZXN0aW5n", - "LlJlc3BvbnNlUGFyYW1ldGVycxImCgdwYXlsb2FkGAMgASgLMhUuZ3JwYy50", - "ZXN0aW5nLlBheWxvYWQSOwoUcmVzcG9uc2VfY29tcHJlc3Npb24YBiABKA4y", - "HS5ncnBjLnRlc3RpbmcuQ29tcHJlc3Npb25UeXBlEjEKD3Jlc3BvbnNlX3N0", - "YXR1cxgHIAEoCzIYLmdycGMudGVzdGluZy5FY2hvU3RhdHVzIkUKG1N0cmVh", - "bWluZ091dHB1dENhbGxSZXNwb25zZRImCgdwYXlsb2FkGAEgASgLMhUuZ3Jw", - "Yy50ZXN0aW5nLlBheWxvYWQiMwoNUmVjb25uZWN0SW5mbxIOCgZwYXNzZWQY", - "ASABKAgSEgoKYmFja29mZl9tcxgCIAMoBSo/CgtQYXlsb2FkVHlwZRIQCgxD", - "T01QUkVTU0FCTEUQABISCg5VTkNPTVBSRVNTQUJMRRABEgoKBlJBTkRPTRAC", - "KjIKD0NvbXByZXNzaW9uVHlwZRIICgROT05FEAASCAoER1pJUBABEgsKB0RF", - "RkxBVEUQAmIGcHJvdG8z")); - descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData, + "CiVzcmMvcHJvdG8vZ3JwYy90ZXN0aW5nL21lc3NhZ2VzLnByb3RvEgxncnBj", + "LnRlc3RpbmciQAoHUGF5bG9hZBInCgR0eXBlGAEgASgOMhkuZ3JwYy50ZXN0", + "aW5nLlBheWxvYWRUeXBlEgwKBGJvZHkYAiABKAwiKwoKRWNob1N0YXR1cxIM", + "CgRjb2RlGAEgASgFEg8KB21lc3NhZ2UYAiABKAkioQIKDVNpbXBsZVJlcXVl", + "c3QSMAoNcmVzcG9uc2VfdHlwZRgBIAEoDjIZLmdycGMudGVzdGluZy5QYXls", + "b2FkVHlwZRIVCg1yZXNwb25zZV9zaXplGAIgASgFEiYKB3BheWxvYWQYAyAB", + "KAsyFS5ncnBjLnRlc3RpbmcuUGF5bG9hZBIVCg1maWxsX3VzZXJuYW1lGAQg", + "ASgIEhgKEGZpbGxfb2F1dGhfc2NvcGUYBSABKAgSOwoUcmVzcG9uc2VfY29t", + "cHJlc3Npb24YBiABKA4yHS5ncnBjLnRlc3RpbmcuQ29tcHJlc3Npb25UeXBl", + "EjEKD3Jlc3BvbnNlX3N0YXR1cxgHIAEoCzIYLmdycGMudGVzdGluZy5FY2hv", + "U3RhdHVzIl8KDlNpbXBsZVJlc3BvbnNlEiYKB3BheWxvYWQYASABKAsyFS5n", + "cnBjLnRlc3RpbmcuUGF5bG9hZBIQCgh1c2VybmFtZRgCIAEoCRITCgtvYXV0", + "aF9zY29wZRgDIAEoCSJDChlTdHJlYW1pbmdJbnB1dENhbGxSZXF1ZXN0EiYK", + "B3BheWxvYWQYASABKAsyFS5ncnBjLnRlc3RpbmcuUGF5bG9hZCI9ChpTdHJl", + "YW1pbmdJbnB1dENhbGxSZXNwb25zZRIfChdhZ2dyZWdhdGVkX3BheWxvYWRf", + "c2l6ZRgBIAEoBSI3ChJSZXNwb25zZVBhcmFtZXRlcnMSDAoEc2l6ZRgBIAEo", + "BRITCgtpbnRlcnZhbF91cxgCIAEoBSKlAgoaU3RyZWFtaW5nT3V0cHV0Q2Fs", + "bFJlcXVlc3QSMAoNcmVzcG9uc2VfdHlwZRgBIAEoDjIZLmdycGMudGVzdGlu", + "Zy5QYXlsb2FkVHlwZRI9ChNyZXNwb25zZV9wYXJhbWV0ZXJzGAIgAygLMiAu", + "Z3JwYy50ZXN0aW5nLlJlc3BvbnNlUGFyYW1ldGVycxImCgdwYXlsb2FkGAMg", + "ASgLMhUuZ3JwYy50ZXN0aW5nLlBheWxvYWQSOwoUcmVzcG9uc2VfY29tcHJl", + "c3Npb24YBiABKA4yHS5ncnBjLnRlc3RpbmcuQ29tcHJlc3Npb25UeXBlEjEK", + "D3Jlc3BvbnNlX3N0YXR1cxgHIAEoCzIYLmdycGMudGVzdGluZy5FY2hvU3Rh", + "dHVzIkUKG1N0cmVhbWluZ091dHB1dENhbGxSZXNwb25zZRImCgdwYXlsb2Fk", + "GAEgASgLMhUuZ3JwYy50ZXN0aW5nLlBheWxvYWQiMwoNUmVjb25uZWN0SW5m", + "bxIOCgZwYXNzZWQYASABKAgSEgoKYmFja29mZl9tcxgCIAMoBSo/CgtQYXls", + "b2FkVHlwZRIQCgxDT01QUkVTU0FCTEUQABISCg5VTkNPTVBSRVNTQUJMRRAB", + "EgoKBlJBTkRPTRACKjIKD0NvbXByZXNzaW9uVHlwZRIICgROT05FEAASCAoE", + "R1pJUBABEgsKB0RFRkxBVEUQAmIGcHJvdG8z")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedCodeInfo(new[] {typeof(global::Grpc.Testing.PayloadType), typeof(global::Grpc.Testing.CompressionType), }, new pbr::GeneratedCodeInfo[] { - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.Payload), new[]{ "Type", "Body" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.EchoStatus), new[]{ "Code", "Message" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.SimpleRequest), new[]{ "ResponseType", "ResponseSize", "Payload", "FillUsername", "FillOauthScope", "ResponseCompression", "ResponseStatus" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.SimpleResponse), new[]{ "Payload", "Username", "OauthScope" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.StreamingInputCallRequest), new[]{ "Payload" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.StreamingInputCallResponse), new[]{ "AggregatedPayloadSize" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ResponseParameters), new[]{ "Size", "IntervalUs" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.StreamingOutputCallRequest), new[]{ "ResponseType", "ResponseParameters", "Payload", "ResponseCompression", "ResponseStatus" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.StreamingOutputCallResponse), new[]{ "Payload" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ReconnectInfo), new[]{ "Passed", "BackoffMs" }, null, null, null) + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.Payload), global::Grpc.Testing.Payload.Parser, new[]{ "Type", "Body" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.EchoStatus), global::Grpc.Testing.EchoStatus.Parser, new[]{ "Code", "Message" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.SimpleRequest), global::Grpc.Testing.SimpleRequest.Parser, new[]{ "ResponseType", "ResponseSize", "Payload", "FillUsername", "FillOauthScope", "ResponseCompression", "ResponseStatus" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.SimpleResponse), global::Grpc.Testing.SimpleResponse.Parser, new[]{ "Payload", "Username", "OauthScope" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.StreamingInputCallRequest), global::Grpc.Testing.StreamingInputCallRequest.Parser, new[]{ "Payload" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.StreamingInputCallResponse), global::Grpc.Testing.StreamingInputCallResponse.Parser, new[]{ "AggregatedPayloadSize" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ResponseParameters), global::Grpc.Testing.ResponseParameters.Parser, new[]{ "Size", "IntervalUs" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.StreamingOutputCallRequest), global::Grpc.Testing.StreamingOutputCallRequest.Parser, new[]{ "ResponseType", "ResponseParameters", "Payload", "ResponseCompression", "ResponseStatus" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.StreamingOutputCallResponse), global::Grpc.Testing.StreamingOutputCallResponse.Parser, new[]{ "Payload" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ReconnectInfo), global::Grpc.Testing.ReconnectInfo.Parser, new[]{ "Passed", "BackoffMs" }, null, null, null) })); } #endregion } #region Enums + /// <summary> + /// The type of payload that should be returned. + /// </summary> public enum PayloadType { + /// <summary> + /// Compressable text format. + /// </summary> COMPRESSABLE = 0, + /// <summary> + /// Uncompressable binary format. + /// </summary> UNCOMPRESSABLE = 1, + /// <summary> + /// Randomly chosen from all other formats defined in this enum. + /// </summary> RANDOM = 2, } + /// <summary> + /// Compression algorithms + /// </summary> public enum CompressionType { + /// <summary> + /// No compression + /// </summary> NONE = 0, GZIP = 1, DEFLATE = 2, @@ -84,13 +104,16 @@ namespace Grpc.Testing { #endregion #region Messages + /// <summary> + /// A block of data, to simply increase gRPC message size. + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class Payload : pb::IMessage<Payload> { private static readonly pb::MessageParser<Payload> _parser = new pb::MessageParser<Payload>(() => new Payload()); public static pb::MessageParser<Payload> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Messages.Descriptor.MessageTypes[0]; } + get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[0]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -112,8 +135,12 @@ namespace Grpc.Testing { return new Payload(this); } + /// <summary>Field number for the "type" field.</summary> public const int TypeFieldNumber = 1; private global::Grpc.Testing.PayloadType type_ = global::Grpc.Testing.PayloadType.COMPRESSABLE; + /// <summary> + /// The type of data in body. + /// </summary> public global::Grpc.Testing.PayloadType Type { get { return type_; } set { @@ -121,8 +148,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "body" field.</summary> public const int BodyFieldNumber = 2; private pb::ByteString body_ = pb::ByteString.Empty; + /// <summary> + /// Primary contents of payload. + /// </summary> public pb::ByteString Body { get { return body_; } set { @@ -154,7 +185,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -212,13 +243,17 @@ namespace Grpc.Testing { } + /// <summary> + /// A protobuf representation for grpc status. This is used by test + /// clients to specify a status that the server should attempt to return. + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class EchoStatus : pb::IMessage<EchoStatus> { private static readonly pb::MessageParser<EchoStatus> _parser = new pb::MessageParser<EchoStatus>(() => new EchoStatus()); public static pb::MessageParser<EchoStatus> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Messages.Descriptor.MessageTypes[1]; } + get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[1]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -240,6 +275,7 @@ namespace Grpc.Testing { return new EchoStatus(this); } + /// <summary>Field number for the "code" field.</summary> public const int CodeFieldNumber = 1; private int code_; public int Code { @@ -249,6 +285,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "message" field.</summary> public const int MessageFieldNumber = 2; private string message_ = ""; public string Message { @@ -282,7 +319,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -340,13 +377,16 @@ namespace Grpc.Testing { } + /// <summary> + /// Unary request. + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class SimpleRequest : pb::IMessage<SimpleRequest> { private static readonly pb::MessageParser<SimpleRequest> _parser = new pb::MessageParser<SimpleRequest>(() => new SimpleRequest()); public static pb::MessageParser<SimpleRequest> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Messages.Descriptor.MessageTypes[2]; } + get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[2]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -373,8 +413,13 @@ namespace Grpc.Testing { return new SimpleRequest(this); } + /// <summary>Field number for the "response_type" field.</summary> public const int ResponseTypeFieldNumber = 1; private global::Grpc.Testing.PayloadType responseType_ = global::Grpc.Testing.PayloadType.COMPRESSABLE; + /// <summary> + /// Desired payload type in the response from the server. + /// If response_type is RANDOM, server randomly chooses one from other formats. + /// </summary> public global::Grpc.Testing.PayloadType ResponseType { get { return responseType_; } set { @@ -382,8 +427,13 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "response_size" field.</summary> public const int ResponseSizeFieldNumber = 2; private int responseSize_; + /// <summary> + /// Desired payload size in the response from the server. + /// If response_type is COMPRESSABLE, this denotes the size before compression. + /// </summary> public int ResponseSize { get { return responseSize_; } set { @@ -391,8 +441,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "payload" field.</summary> public const int PayloadFieldNumber = 3; private global::Grpc.Testing.Payload payload_; + /// <summary> + /// Optional input payload sent along with the request. + /// </summary> public global::Grpc.Testing.Payload Payload { get { return payload_; } set { @@ -400,8 +454,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "fill_username" field.</summary> public const int FillUsernameFieldNumber = 4; private bool fillUsername_; + /// <summary> + /// Whether SimpleResponse should include username. + /// </summary> public bool FillUsername { get { return fillUsername_; } set { @@ -409,8 +467,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "fill_oauth_scope" field.</summary> public const int FillOauthScopeFieldNumber = 5; private bool fillOauthScope_; + /// <summary> + /// Whether SimpleResponse should include OAuth scope. + /// </summary> public bool FillOauthScope { get { return fillOauthScope_; } set { @@ -418,8 +480,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "response_compression" field.</summary> public const int ResponseCompressionFieldNumber = 6; private global::Grpc.Testing.CompressionType responseCompression_ = global::Grpc.Testing.CompressionType.NONE; + /// <summary> + /// Compression algorithm to be used by the server for the response (stream) + /// </summary> public global::Grpc.Testing.CompressionType ResponseCompression { get { return responseCompression_; } set { @@ -427,8 +493,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "response_status" field.</summary> public const int ResponseStatusFieldNumber = 7; private global::Grpc.Testing.EchoStatus responseStatus_; + /// <summary> + /// Whether server should return a given status + /// </summary> public global::Grpc.Testing.EchoStatus ResponseStatus { get { return responseStatus_; } set { @@ -470,7 +540,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -610,13 +680,16 @@ namespace Grpc.Testing { } + /// <summary> + /// Unary response, as configured by the request. + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class SimpleResponse : pb::IMessage<SimpleResponse> { private static readonly pb::MessageParser<SimpleResponse> _parser = new pb::MessageParser<SimpleResponse>(() => new SimpleResponse()); public static pb::MessageParser<SimpleResponse> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Messages.Descriptor.MessageTypes[3]; } + get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[3]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -639,8 +712,12 @@ namespace Grpc.Testing { return new SimpleResponse(this); } + /// <summary>Field number for the "payload" field.</summary> public const int PayloadFieldNumber = 1; private global::Grpc.Testing.Payload payload_; + /// <summary> + /// Payload to increase message size. + /// </summary> public global::Grpc.Testing.Payload Payload { get { return payload_; } set { @@ -648,8 +725,13 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "username" field.</summary> public const int UsernameFieldNumber = 2; private string username_ = ""; + /// <summary> + /// The user the request came from, for verifying authentication was + /// successful when the client expected it. + /// </summary> public string Username { get { return username_; } set { @@ -657,8 +739,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "oauth_scope" field.</summary> public const int OauthScopeFieldNumber = 3; private string oauthScope_ = ""; + /// <summary> + /// OAuth scope. + /// </summary> public string OauthScope { get { return oauthScope_; } set { @@ -692,7 +778,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -770,13 +856,16 @@ namespace Grpc.Testing { } + /// <summary> + /// Client-streaming request. + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class StreamingInputCallRequest : pb::IMessage<StreamingInputCallRequest> { private static readonly pb::MessageParser<StreamingInputCallRequest> _parser = new pb::MessageParser<StreamingInputCallRequest>(() => new StreamingInputCallRequest()); public static pb::MessageParser<StreamingInputCallRequest> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Messages.Descriptor.MessageTypes[4]; } + get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[4]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -797,8 +886,12 @@ namespace Grpc.Testing { return new StreamingInputCallRequest(this); } + /// <summary>Field number for the "payload" field.</summary> public const int PayloadFieldNumber = 1; private global::Grpc.Testing.Payload payload_; + /// <summary> + /// Optional input payload sent along with the request. + /// </summary> public global::Grpc.Testing.Payload Payload { get { return payload_; } set { @@ -828,7 +921,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -878,13 +971,16 @@ namespace Grpc.Testing { } + /// <summary> + /// Client-streaming response. + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class StreamingInputCallResponse : pb::IMessage<StreamingInputCallResponse> { private static readonly pb::MessageParser<StreamingInputCallResponse> _parser = new pb::MessageParser<StreamingInputCallResponse>(() => new StreamingInputCallResponse()); public static pb::MessageParser<StreamingInputCallResponse> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Messages.Descriptor.MessageTypes[5]; } + get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[5]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -905,8 +1001,12 @@ namespace Grpc.Testing { return new StreamingInputCallResponse(this); } + /// <summary>Field number for the "aggregated_payload_size" field.</summary> public const int AggregatedPayloadSizeFieldNumber = 1; private int aggregatedPayloadSize_; + /// <summary> + /// Aggregated size of payloads received from the client. + /// </summary> public int AggregatedPayloadSize { get { return aggregatedPayloadSize_; } set { @@ -936,7 +1036,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -980,13 +1080,16 @@ namespace Grpc.Testing { } + /// <summary> + /// Configuration for a particular response. + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class ResponseParameters : pb::IMessage<ResponseParameters> { private static readonly pb::MessageParser<ResponseParameters> _parser = new pb::MessageParser<ResponseParameters>(() => new ResponseParameters()); public static pb::MessageParser<ResponseParameters> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Messages.Descriptor.MessageTypes[6]; } + get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[6]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -1008,8 +1111,13 @@ namespace Grpc.Testing { return new ResponseParameters(this); } + /// <summary>Field number for the "size" field.</summary> public const int SizeFieldNumber = 1; private int size_; + /// <summary> + /// Desired payload sizes in responses from the server. + /// If response_type is COMPRESSABLE, this denotes the size before compression. + /// </summary> public int Size { get { return size_; } set { @@ -1017,8 +1125,13 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "interval_us" field.</summary> public const int IntervalUsFieldNumber = 2; private int intervalUs_; + /// <summary> + /// Desired interval between consecutive responses in the response stream in + /// microseconds. + /// </summary> public int IntervalUs { get { return intervalUs_; } set { @@ -1050,7 +1163,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -1108,13 +1221,16 @@ namespace Grpc.Testing { } + /// <summary> + /// Server-streaming request. + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class StreamingOutputCallRequest : pb::IMessage<StreamingOutputCallRequest> { private static readonly pb::MessageParser<StreamingOutputCallRequest> _parser = new pb::MessageParser<StreamingOutputCallRequest>(() => new StreamingOutputCallRequest()); public static pb::MessageParser<StreamingOutputCallRequest> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Messages.Descriptor.MessageTypes[7]; } + get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[7]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -1139,8 +1255,15 @@ namespace Grpc.Testing { return new StreamingOutputCallRequest(this); } + /// <summary>Field number for the "response_type" field.</summary> public const int ResponseTypeFieldNumber = 1; private global::Grpc.Testing.PayloadType responseType_ = global::Grpc.Testing.PayloadType.COMPRESSABLE; + /// <summary> + /// 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. + /// </summary> public global::Grpc.Testing.PayloadType ResponseType { get { return responseType_; } set { @@ -1148,16 +1271,24 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "response_parameters" field.</summary> public const int ResponseParametersFieldNumber = 2; private static readonly pb::FieldCodec<global::Grpc.Testing.ResponseParameters> _repeated_responseParameters_codec = pb::FieldCodec.ForMessage(18, global::Grpc.Testing.ResponseParameters.Parser); private readonly pbc::RepeatedField<global::Grpc.Testing.ResponseParameters> responseParameters_ = new pbc::RepeatedField<global::Grpc.Testing.ResponseParameters>(); + /// <summary> + /// Configuration for each expected response message. + /// </summary> public pbc::RepeatedField<global::Grpc.Testing.ResponseParameters> ResponseParameters { get { return responseParameters_; } } + /// <summary>Field number for the "payload" field.</summary> public const int PayloadFieldNumber = 3; private global::Grpc.Testing.Payload payload_; + /// <summary> + /// Optional input payload sent along with the request. + /// </summary> public global::Grpc.Testing.Payload Payload { get { return payload_; } set { @@ -1165,8 +1296,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "response_compression" field.</summary> public const int ResponseCompressionFieldNumber = 6; private global::Grpc.Testing.CompressionType responseCompression_ = global::Grpc.Testing.CompressionType.NONE; + /// <summary> + /// Compression algorithm to be used by the server for the response (stream) + /// </summary> public global::Grpc.Testing.CompressionType ResponseCompression { get { return responseCompression_; } set { @@ -1174,8 +1309,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "response_status" field.</summary> public const int ResponseStatusFieldNumber = 7; private global::Grpc.Testing.EchoStatus responseStatus_; + /// <summary> + /// Whether server should return a given status + /// </summary> public global::Grpc.Testing.EchoStatus ResponseStatus { get { return responseStatus_; } set { @@ -1213,7 +1352,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -1318,13 +1457,16 @@ namespace Grpc.Testing { } + /// <summary> + /// Server-streaming response, as configured by the request and parameters. + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class StreamingOutputCallResponse : pb::IMessage<StreamingOutputCallResponse> { private static readonly pb::MessageParser<StreamingOutputCallResponse> _parser = new pb::MessageParser<StreamingOutputCallResponse>(() => new StreamingOutputCallResponse()); public static pb::MessageParser<StreamingOutputCallResponse> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Messages.Descriptor.MessageTypes[8]; } + get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[8]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -1345,8 +1487,12 @@ namespace Grpc.Testing { return new StreamingOutputCallResponse(this); } + /// <summary>Field number for the "payload" field.</summary> public const int PayloadFieldNumber = 1; private global::Grpc.Testing.Payload payload_; + /// <summary> + /// Payload to increase response size. + /// </summary> public global::Grpc.Testing.Payload Payload { get { return payload_; } set { @@ -1376,7 +1522,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -1426,13 +1572,18 @@ namespace Grpc.Testing { } + /// <summary> + /// For reconnect interop test only. + /// Server tells client whether its reconnects are following the spec and the + /// reconnect backoffs it saw. + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class ReconnectInfo : pb::IMessage<ReconnectInfo> { private static readonly pb::MessageParser<ReconnectInfo> _parser = new pb::MessageParser<ReconnectInfo>(() => new ReconnectInfo()); public static pb::MessageParser<ReconnectInfo> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Messages.Descriptor.MessageTypes[9]; } + get { return global::Grpc.Testing.MessagesReflection.Descriptor.MessageTypes[9]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -1454,6 +1605,7 @@ namespace Grpc.Testing { return new ReconnectInfo(this); } + /// <summary>Field number for the "passed" field.</summary> public const int PassedFieldNumber = 1; private bool passed_; public bool Passed { @@ -1463,6 +1615,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "backoff_ms" field.</summary> public const int BackoffMsFieldNumber = 2; private static readonly pb::FieldCodec<int> _repeated_backoffMs_codec = pb::FieldCodec.ForInt32(18); @@ -1495,7 +1648,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { diff --git a/src/csharp/Grpc.IntegrationTesting/Payloads.cs b/src/csharp/Grpc.IntegrationTesting/Payloads.cs index a37dd9a685cf46583e1f79986ea8c6ce4013c6b4..663f625aa7cd65ab62622ce78c95eeca87d80f32 100644 --- a/src/csharp/Grpc.IntegrationTesting/Payloads.cs +++ b/src/csharp/Grpc.IntegrationTesting/Payloads.cs @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: test/proto/benchmarks/payloads.proto +// source: src/proto/grpc/testing/payloads.proto #pragma warning disable 1591, 0612, 3021 #region Designer generated code @@ -9,34 +9,36 @@ using pbr = global::Google.Protobuf.Reflection; using scg = global::System.Collections.Generic; namespace Grpc.Testing { + /// <summary>Holder for reflection information generated from src/proto/grpc/testing/payloads.proto</summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - public static partial class Payloads { + public static partial class PayloadsReflection { #region Descriptor + /// <summary>File descriptor for src/proto/grpc/testing/payloads.proto</summary> public static pbr::FileDescriptor Descriptor { get { return descriptor; } } private static pbr::FileDescriptor descriptor; - static Payloads() { + static PayloadsReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "CiR0ZXN0L3Byb3RvL2JlbmNobWFya3MvcGF5bG9hZHMucHJvdG8SDGdycGMu", - "dGVzdGluZyI3ChBCeXRlQnVmZmVyUGFyYW1zEhAKCHJlcV9zaXplGAEgASgF", - "EhEKCXJlc3Bfc2l6ZRgCIAEoBSI4ChFTaW1wbGVQcm90b1BhcmFtcxIQCghy", - "ZXFfc2l6ZRgBIAEoBRIRCglyZXNwX3NpemUYAiABKAUiFAoSQ29tcGxleFBy", - "b3RvUGFyYW1zIsoBCg1QYXlsb2FkQ29uZmlnEjgKDmJ5dGVidWZfcGFyYW1z", - "GAEgASgLMh4uZ3JwYy50ZXN0aW5nLkJ5dGVCdWZmZXJQYXJhbXNIABI4Cg1z", - "aW1wbGVfcGFyYW1zGAIgASgLMh8uZ3JwYy50ZXN0aW5nLlNpbXBsZVByb3Rv", - "UGFyYW1zSAASOgoOY29tcGxleF9wYXJhbXMYAyABKAsyIC5ncnBjLnRlc3Rp", - "bmcuQ29tcGxleFByb3RvUGFyYW1zSABCCQoHcGF5bG9hZGIGcHJvdG8z")); - descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData, + "CiVzcmMvcHJvdG8vZ3JwYy90ZXN0aW5nL3BheWxvYWRzLnByb3RvEgxncnBj", + "LnRlc3RpbmciNwoQQnl0ZUJ1ZmZlclBhcmFtcxIQCghyZXFfc2l6ZRgBIAEo", + "BRIRCglyZXNwX3NpemUYAiABKAUiOAoRU2ltcGxlUHJvdG9QYXJhbXMSEAoI", + "cmVxX3NpemUYASABKAUSEQoJcmVzcF9zaXplGAIgASgFIhQKEkNvbXBsZXhQ", + "cm90b1BhcmFtcyLKAQoNUGF5bG9hZENvbmZpZxI4Cg5ieXRlYnVmX3BhcmFt", + "cxgBIAEoCzIeLmdycGMudGVzdGluZy5CeXRlQnVmZmVyUGFyYW1zSAASOAoN", + "c2ltcGxlX3BhcmFtcxgCIAEoCzIfLmdycGMudGVzdGluZy5TaW1wbGVQcm90", + "b1BhcmFtc0gAEjoKDmNvbXBsZXhfcGFyYW1zGAMgASgLMiAuZ3JwYy50ZXN0", + "aW5nLkNvbXBsZXhQcm90b1BhcmFtc0gAQgkKB3BheWxvYWRiBnByb3RvMw==")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedCodeInfo(null, new pbr::GeneratedCodeInfo[] { - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ByteBufferParams), new[]{ "ReqSize", "RespSize" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.SimpleProtoParams), new[]{ "ReqSize", "RespSize" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ComplexProtoParams), null, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.PayloadConfig), new[]{ "BytebufParams", "SimpleParams", "ComplexParams" }, new[]{ "Payload" }, null, null) + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ByteBufferParams), global::Grpc.Testing.ByteBufferParams.Parser, new[]{ "ReqSize", "RespSize" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.SimpleProtoParams), global::Grpc.Testing.SimpleProtoParams.Parser, new[]{ "ReqSize", "RespSize" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ComplexProtoParams), global::Grpc.Testing.ComplexProtoParams.Parser, null, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.PayloadConfig), global::Grpc.Testing.PayloadConfig.Parser, new[]{ "BytebufParams", "SimpleParams", "ComplexParams" }, new[]{ "Payload" }, null, null) })); } #endregion @@ -49,7 +51,7 @@ namespace Grpc.Testing { public static pb::MessageParser<ByteBufferParams> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Payloads.Descriptor.MessageTypes[0]; } + get { return global::Grpc.Testing.PayloadsReflection.Descriptor.MessageTypes[0]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -71,6 +73,7 @@ namespace Grpc.Testing { return new ByteBufferParams(this); } + /// <summary>Field number for the "req_size" field.</summary> public const int ReqSizeFieldNumber = 1; private int reqSize_; public int ReqSize { @@ -80,6 +83,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "resp_size" field.</summary> public const int RespSizeFieldNumber = 2; private int respSize_; public int RespSize { @@ -113,7 +117,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -177,7 +181,7 @@ namespace Grpc.Testing { public static pb::MessageParser<SimpleProtoParams> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Payloads.Descriptor.MessageTypes[1]; } + get { return global::Grpc.Testing.PayloadsReflection.Descriptor.MessageTypes[1]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -199,6 +203,7 @@ namespace Grpc.Testing { return new SimpleProtoParams(this); } + /// <summary>Field number for the "req_size" field.</summary> public const int ReqSizeFieldNumber = 1; private int reqSize_; public int ReqSize { @@ -208,6 +213,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "resp_size" field.</summary> public const int RespSizeFieldNumber = 2; private int respSize_; public int RespSize { @@ -241,7 +247,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -299,13 +305,17 @@ namespace Grpc.Testing { } + /// <summary> + /// TODO (vpai): Fill this in once the details of complex, representative + /// protos are decided + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class ComplexProtoParams : pb::IMessage<ComplexProtoParams> { private static readonly pb::MessageParser<ComplexProtoParams> _parser = new pb::MessageParser<ComplexProtoParams>(() => new ComplexProtoParams()); public static pb::MessageParser<ComplexProtoParams> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Payloads.Descriptor.MessageTypes[2]; } + get { return global::Grpc.Testing.PayloadsReflection.Descriptor.MessageTypes[2]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -345,7 +355,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -381,7 +391,7 @@ namespace Grpc.Testing { public static pb::MessageParser<PayloadConfig> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Payloads.Descriptor.MessageTypes[3]; } + get { return global::Grpc.Testing.PayloadsReflection.Descriptor.MessageTypes[3]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -413,6 +423,7 @@ namespace Grpc.Testing { return new PayloadConfig(this); } + /// <summary>Field number for the "bytebuf_params" field.</summary> public const int BytebufParamsFieldNumber = 1; public global::Grpc.Testing.ByteBufferParams BytebufParams { get { return payloadCase_ == PayloadOneofCase.BytebufParams ? (global::Grpc.Testing.ByteBufferParams) payload_ : null; } @@ -422,6 +433,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "simple_params" field.</summary> public const int SimpleParamsFieldNumber = 2; public global::Grpc.Testing.SimpleProtoParams SimpleParams { get { return payloadCase_ == PayloadOneofCase.SimpleParams ? (global::Grpc.Testing.SimpleProtoParams) payload_ : null; } @@ -431,6 +443,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "complex_params" field.</summary> public const int ComplexParamsFieldNumber = 3; public global::Grpc.Testing.ComplexProtoParams ComplexParams { get { return payloadCase_ == PayloadOneofCase.ComplexParams ? (global::Grpc.Testing.ComplexProtoParams) payload_ : null; } @@ -441,6 +454,7 @@ namespace Grpc.Testing { } private object payload_; + /// <summary>Enum of possible cases for the "payload" oneof.</summary> public enum PayloadOneofCase { None = 0, BytebufParams = 1, @@ -471,6 +485,7 @@ namespace Grpc.Testing { if (!object.Equals(BytebufParams, other.BytebufParams)) return false; if (!object.Equals(SimpleParams, other.SimpleParams)) return false; if (!object.Equals(ComplexParams, other.ComplexParams)) return false; + if (PayloadCase != other.PayloadCase) return false; return true; } @@ -479,11 +494,12 @@ namespace Grpc.Testing { if (payloadCase_ == PayloadOneofCase.BytebufParams) hash ^= BytebufParams.GetHashCode(); if (payloadCase_ == PayloadOneofCase.SimpleParams) hash ^= SimpleParams.GetHashCode(); if (payloadCase_ == PayloadOneofCase.ComplexParams) hash ^= ComplexParams.GetHashCode(); + hash ^= (int) payloadCase_; return hash; } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { diff --git a/src/csharp/Grpc.IntegrationTesting/Services.cs b/src/csharp/Grpc.IntegrationTesting/Services.cs index b648da6734f9994151aa0961617c513fdedc11a7..04a092ccd79cb1a3c68c624ba5ce1ff8974b9fe6 100644 --- a/src/csharp/Grpc.IntegrationTesting/Services.cs +++ b/src/csharp/Grpc.IntegrationTesting/Services.cs @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: test/proto/benchmarks/services.proto +// source: src/proto/grpc/testing/services.proto #pragma warning disable 1591, 0612, 3021 #region Designer generated code @@ -9,31 +9,33 @@ using pbr = global::Google.Protobuf.Reflection; using scg = global::System.Collections.Generic; namespace Grpc.Testing { + /// <summary>Holder for reflection information generated from src/proto/grpc/testing/services.proto</summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - public static partial class Services { + public static partial class ServicesReflection { #region Descriptor + /// <summary>File descriptor for src/proto/grpc/testing/services.proto</summary> public static pbr::FileDescriptor Descriptor { get { return descriptor; } } private static pbr::FileDescriptor descriptor; - static Services() { + static ServicesReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "CiR0ZXN0L3Byb3RvL2JlbmNobWFya3Mvc2VydmljZXMucHJvdG8SDGdycGMu", - "dGVzdGluZxoZdGVzdC9wcm90by9tZXNzYWdlcy5wcm90bxojdGVzdC9wcm90", - "by9iZW5jaG1hcmtzL2NvbnRyb2wucHJvdG8yqgEKEEJlbmNobWFya1NlcnZp", - "Y2USRgoJVW5hcnlDYWxsEhsuZ3JwYy50ZXN0aW5nLlNpbXBsZVJlcXVlc3Qa", - "HC5ncnBjLnRlc3RpbmcuU2ltcGxlUmVzcG9uc2USTgoNU3RyZWFtaW5nQ2Fs", - "bBIbLmdycGMudGVzdGluZy5TaW1wbGVSZXF1ZXN0GhwuZ3JwYy50ZXN0aW5n", - "LlNpbXBsZVJlc3BvbnNlKAEwATKdAQoNV29ya2VyU2VydmljZRJFCglSdW5T", - "ZXJ2ZXISGC5ncnBjLnRlc3RpbmcuU2VydmVyQXJncxoaLmdycGMudGVzdGlu", - "Zy5TZXJ2ZXJTdGF0dXMoATABEkUKCVJ1bkNsaWVudBIYLmdycGMudGVzdGlu", - "Zy5DbGllbnRBcmdzGhouZ3JwYy50ZXN0aW5nLkNsaWVudFN0YXR1cygBMAFi", - "BnByb3RvMw==")); - descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData, - new pbr::FileDescriptor[] { global::Grpc.Testing.Messages.Descriptor, global::Grpc.Testing.Control.Descriptor, }, + "CiVzcmMvcHJvdG8vZ3JwYy90ZXN0aW5nL3NlcnZpY2VzLnByb3RvEgxncnBj", + "LnRlc3RpbmcaJXNyYy9wcm90by9ncnBjL3Rlc3RpbmcvbWVzc2FnZXMucHJv", + "dG8aJHNyYy9wcm90by9ncnBjL3Rlc3RpbmcvY29udHJvbC5wcm90bzKqAQoQ", + "QmVuY2htYXJrU2VydmljZRJGCglVbmFyeUNhbGwSGy5ncnBjLnRlc3Rpbmcu", + "U2ltcGxlUmVxdWVzdBocLmdycGMudGVzdGluZy5TaW1wbGVSZXNwb25zZRJO", + "Cg1TdHJlYW1pbmdDYWxsEhsuZ3JwYy50ZXN0aW5nLlNpbXBsZVJlcXVlc3Qa", + "HC5ncnBjLnRlc3RpbmcuU2ltcGxlUmVzcG9uc2UoATABMp0BCg1Xb3JrZXJT", + "ZXJ2aWNlEkUKCVJ1blNlcnZlchIYLmdycGMudGVzdGluZy5TZXJ2ZXJBcmdz", + "GhouZ3JwYy50ZXN0aW5nLlNlcnZlclN0YXR1cygBMAESRQoJUnVuQ2xpZW50", + "EhguZ3JwYy50ZXN0aW5nLkNsaWVudEFyZ3MaGi5ncnBjLnRlc3RpbmcuQ2xp", + "ZW50U3RhdHVzKAEwAWIGcHJvdG8z")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { global::Grpc.Testing.MessagesReflection.Descriptor, global::Grpc.Testing.ControlReflection.Descriptor, }, new pbr::GeneratedCodeInfo(null, null)); } #endregion diff --git a/src/csharp/Grpc.IntegrationTesting/ServicesGrpc.cs b/src/csharp/Grpc.IntegrationTesting/ServicesGrpc.cs index ce388c6d5c6529275635d0882c6d922053d820c8..dd30afb427f8c6eeb9c7cc43f3d039c3dc1e76b4 100644 --- a/src/csharp/Grpc.IntegrationTesting/ServicesGrpc.cs +++ b/src/csharp/Grpc.IntegrationTesting/ServicesGrpc.cs @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: test/proto/benchmarks/services.proto +// source: src/proto/grpc/testing/services.proto #region Designer generated code using System; @@ -32,7 +32,7 @@ namespace Grpc.Testing { // service descriptor public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor { - get { return global::Grpc.Testing.Services.Descriptor.Services[0]; } + get { return global::Grpc.Testing.ServicesReflection.Descriptor.Services[0]; } } // client interface @@ -132,7 +132,7 @@ namespace Grpc.Testing { // service descriptor public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor { - get { return global::Grpc.Testing.Services.Descriptor.Services[1]; } + get { return global::Grpc.Testing.ServicesReflection.Descriptor.Services[1]; } } // client interface diff --git a/src/csharp/Grpc.IntegrationTesting/Stats.cs b/src/csharp/Grpc.IntegrationTesting/Stats.cs index 4ae66baffa57f5a33fbed357283cbc804405e79c..39c00ea88cff6d218749fcc8e9b7b6a8bb787a2a 100644 --- a/src/csharp/Grpc.IntegrationTesting/Stats.cs +++ b/src/csharp/Grpc.IntegrationTesting/Stats.cs @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: test/proto/benchmarks/stats.proto +// source: src/proto/grpc/testing/stats.proto #pragma warning disable 1591, 0612, 3021 #region Designer generated code @@ -9,35 +9,37 @@ using pbr = global::Google.Protobuf.Reflection; using scg = global::System.Collections.Generic; namespace Grpc.Testing { + /// <summary>Holder for reflection information generated from src/proto/grpc/testing/stats.proto</summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - public static partial class Stats { + public static partial class StatsReflection { #region Descriptor + /// <summary>File descriptor for src/proto/grpc/testing/stats.proto</summary> public static pbr::FileDescriptor Descriptor { get { return descriptor; } } private static pbr::FileDescriptor descriptor; - static Stats() { + static StatsReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "CiF0ZXN0L3Byb3RvL2JlbmNobWFya3Mvc3RhdHMucHJvdG8SDGdycGMudGVz", - "dGluZyJLCgtTZXJ2ZXJTdGF0cxIUCgx0aW1lX2VsYXBzZWQYASABKAESEQoJ", - "dGltZV91c2VyGAIgASgBEhMKC3RpbWVfc3lzdGVtGAMgASgBIjsKD0hpc3Rv", - "Z3JhbVBhcmFtcxISCgpyZXNvbHV0aW9uGAEgASgBEhQKDG1heF9wb3NzaWJs", - "ZRgCIAEoASJ3Cg1IaXN0b2dyYW1EYXRhEg4KBmJ1Y2tldBgBIAMoDRIQCght", - "aW5fc2VlbhgCIAEoARIQCghtYXhfc2VlbhgDIAEoARILCgNzdW0YBCABKAES", - "FgoOc3VtX29mX3NxdWFyZXMYBSABKAESDQoFY291bnQYBiABKAEiewoLQ2xp", - "ZW50U3RhdHMSLgoJbGF0ZW5jaWVzGAEgASgLMhsuZ3JwYy50ZXN0aW5nLkhp", - "c3RvZ3JhbURhdGESFAoMdGltZV9lbGFwc2VkGAIgASgBEhEKCXRpbWVfdXNl", - "chgDIAEoARITCgt0aW1lX3N5c3RlbRgEIAEoAWIGcHJvdG8z")); - descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData, + "CiJzcmMvcHJvdG8vZ3JwYy90ZXN0aW5nL3N0YXRzLnByb3RvEgxncnBjLnRl", + "c3RpbmciSwoLU2VydmVyU3RhdHMSFAoMdGltZV9lbGFwc2VkGAEgASgBEhEK", + "CXRpbWVfdXNlchgCIAEoARITCgt0aW1lX3N5c3RlbRgDIAEoASI7Cg9IaXN0", + "b2dyYW1QYXJhbXMSEgoKcmVzb2x1dGlvbhgBIAEoARIUCgxtYXhfcG9zc2li", + "bGUYAiABKAEidwoNSGlzdG9ncmFtRGF0YRIOCgZidWNrZXQYASADKA0SEAoI", + "bWluX3NlZW4YAiABKAESEAoIbWF4X3NlZW4YAyABKAESCwoDc3VtGAQgASgB", + "EhYKDnN1bV9vZl9zcXVhcmVzGAUgASgBEg0KBWNvdW50GAYgASgBInsKC0Ns", + "aWVudFN0YXRzEi4KCWxhdGVuY2llcxgBIAEoCzIbLmdycGMudGVzdGluZy5I", + "aXN0b2dyYW1EYXRhEhQKDHRpbWVfZWxhcHNlZBgCIAEoARIRCgl0aW1lX3Vz", + "ZXIYAyABKAESEwoLdGltZV9zeXN0ZW0YBCABKAFiBnByb3RvMw==")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedCodeInfo(null, new pbr::GeneratedCodeInfo[] { - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ServerStats), new[]{ "TimeElapsed", "TimeUser", "TimeSystem" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.HistogramParams), new[]{ "Resolution", "MaxPossible" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.HistogramData), new[]{ "Bucket", "MinSeen", "MaxSeen", "Sum", "SumOfSquares", "Count" }, null, null, null), - new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ClientStats), new[]{ "Latencies", "TimeElapsed", "TimeUser", "TimeSystem" }, null, null, null) + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ServerStats), global::Grpc.Testing.ServerStats.Parser, new[]{ "TimeElapsed", "TimeUser", "TimeSystem" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.HistogramParams), global::Grpc.Testing.HistogramParams.Parser, new[]{ "Resolution", "MaxPossible" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.HistogramData), global::Grpc.Testing.HistogramData.Parser, new[]{ "Bucket", "MinSeen", "MaxSeen", "Sum", "SumOfSquares", "Count" }, null, null, null), + new pbr::GeneratedCodeInfo(typeof(global::Grpc.Testing.ClientStats), global::Grpc.Testing.ClientStats.Parser, new[]{ "Latencies", "TimeElapsed", "TimeUser", "TimeSystem" }, null, null, null) })); } #endregion @@ -50,7 +52,7 @@ namespace Grpc.Testing { public static pb::MessageParser<ServerStats> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Stats.Descriptor.MessageTypes[0]; } + get { return global::Grpc.Testing.StatsReflection.Descriptor.MessageTypes[0]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -73,8 +75,12 @@ namespace Grpc.Testing { return new ServerStats(this); } + /// <summary>Field number for the "time_elapsed" field.</summary> public const int TimeElapsedFieldNumber = 1; private double timeElapsed_; + /// <summary> + /// wall clock time change in seconds since last reset + /// </summary> public double TimeElapsed { get { return timeElapsed_; } set { @@ -82,8 +88,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "time_user" field.</summary> public const int TimeUserFieldNumber = 2; private double timeUser_; + /// <summary> + /// change in user time (in seconds) used by the server since last reset + /// </summary> public double TimeUser { get { return timeUser_; } set { @@ -91,8 +101,13 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "time_system" field.</summary> public const int TimeSystemFieldNumber = 3; private double timeSystem_; + /// <summary> + /// change in server time (in seconds) used by the server process and all + /// threads since last reset + /// </summary> public double TimeSystem { get { return timeSystem_; } set { @@ -126,7 +141,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -198,13 +213,16 @@ namespace Grpc.Testing { } + /// <summary> + /// Histogram params based on grpc/support/histogram.c + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class HistogramParams : pb::IMessage<HistogramParams> { private static readonly pb::MessageParser<HistogramParams> _parser = new pb::MessageParser<HistogramParams>(() => new HistogramParams()); public static pb::MessageParser<HistogramParams> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Stats.Descriptor.MessageTypes[1]; } + get { return global::Grpc.Testing.StatsReflection.Descriptor.MessageTypes[1]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -226,8 +244,12 @@ namespace Grpc.Testing { return new HistogramParams(this); } + /// <summary>Field number for the "resolution" field.</summary> public const int ResolutionFieldNumber = 1; private double resolution_; + /// <summary> + /// first bucket is [0, 1 + resolution) + /// </summary> public double Resolution { get { return resolution_; } set { @@ -235,8 +257,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "max_possible" field.</summary> public const int MaxPossibleFieldNumber = 2; private double maxPossible_; + /// <summary> + /// use enough buckets to allow this value + /// </summary> public double MaxPossible { get { return maxPossible_; } set { @@ -268,7 +294,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -326,13 +352,16 @@ namespace Grpc.Testing { } + /// <summary> + /// Histogram data based on grpc/support/histogram.c + /// </summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public sealed partial class HistogramData : pb::IMessage<HistogramData> { private static readonly pb::MessageParser<HistogramData> _parser = new pb::MessageParser<HistogramData>(() => new HistogramData()); public static pb::MessageParser<HistogramData> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Stats.Descriptor.MessageTypes[2]; } + get { return global::Grpc.Testing.StatsReflection.Descriptor.MessageTypes[2]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -358,6 +387,7 @@ namespace Grpc.Testing { return new HistogramData(this); } + /// <summary>Field number for the "bucket" field.</summary> public const int BucketFieldNumber = 1; private static readonly pb::FieldCodec<uint> _repeated_bucket_codec = pb::FieldCodec.ForUInt32(10); @@ -366,6 +396,7 @@ namespace Grpc.Testing { get { return bucket_; } } + /// <summary>Field number for the "min_seen" field.</summary> public const int MinSeenFieldNumber = 2; private double minSeen_; public double MinSeen { @@ -375,6 +406,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "max_seen" field.</summary> public const int MaxSeenFieldNumber = 3; private double maxSeen_; public double MaxSeen { @@ -384,6 +416,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "sum" field.</summary> public const int SumFieldNumber = 4; private double sum_; public double Sum { @@ -393,6 +426,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "sum_of_squares" field.</summary> public const int SumOfSquaresFieldNumber = 5; private double sumOfSquares_; public double SumOfSquares { @@ -402,6 +436,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "count" field.</summary> public const int CountFieldNumber = 6; private double count_; public double Count { @@ -443,7 +478,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { @@ -557,7 +592,7 @@ namespace Grpc.Testing { public static pb::MessageParser<ClientStats> Parser { get { return _parser; } } public static pbr::MessageDescriptor Descriptor { - get { return global::Grpc.Testing.Stats.Descriptor.MessageTypes[3]; } + get { return global::Grpc.Testing.StatsReflection.Descriptor.MessageTypes[3]; } } pbr::MessageDescriptor pb::IMessage.Descriptor { @@ -581,8 +616,12 @@ namespace Grpc.Testing { return new ClientStats(this); } + /// <summary>Field number for the "latencies" field.</summary> public const int LatenciesFieldNumber = 1; private global::Grpc.Testing.HistogramData latencies_; + /// <summary> + /// Latency histogram. Data points are in nanoseconds. + /// </summary> public global::Grpc.Testing.HistogramData Latencies { get { return latencies_; } set { @@ -590,8 +629,12 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "time_elapsed" field.</summary> public const int TimeElapsedFieldNumber = 2; private double timeElapsed_; + /// <summary> + /// See ServerStats for details. + /// </summary> public double TimeElapsed { get { return timeElapsed_; } set { @@ -599,6 +642,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "time_user" field.</summary> public const int TimeUserFieldNumber = 3; private double timeUser_; public double TimeUser { @@ -608,6 +652,7 @@ namespace Grpc.Testing { } } + /// <summary>Field number for the "time_system" field.</summary> public const int TimeSystemFieldNumber = 4; private double timeSystem_; public double TimeSystem { @@ -645,7 +690,7 @@ namespace Grpc.Testing { } public override string ToString() { - return pb::JsonFormatter.Default.Format(this); + return pb::JsonFormatter.ToDiagnosticString(this); } public void WriteTo(pb::CodedOutputStream output) { diff --git a/src/csharp/Grpc.IntegrationTesting/Test.cs b/src/csharp/Grpc.IntegrationTesting/Test.cs index cf477070587d20abea1104afa53a6db01e8c08b3..91e0a1e04c0f67af37eb2f1ae9cd8e9f239f125a 100644 --- a/src/csharp/Grpc.IntegrationTesting/Test.cs +++ b/src/csharp/Grpc.IntegrationTesting/Test.cs @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: test/proto/test.proto +// source: src/proto/grpc/testing/test.proto #pragma warning disable 1591, 0612, 3021 #region Designer generated code @@ -9,40 +9,43 @@ using pbr = global::Google.Protobuf.Reflection; using scg = global::System.Collections.Generic; namespace Grpc.Testing { + /// <summary>Holder for reflection information generated from src/proto/grpc/testing/test.proto</summary> [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - public static partial class Test { + public static partial class TestReflection { #region Descriptor + /// <summary>File descriptor for src/proto/grpc/testing/test.proto</summary> public static pbr::FileDescriptor Descriptor { get { return descriptor; } } private static pbr::FileDescriptor descriptor; - static Test() { + static TestReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "ChV0ZXN0L3Byb3RvL3Rlc3QucHJvdG8SDGdycGMudGVzdGluZxoWdGVzdC9w", - "cm90by9lbXB0eS5wcm90bxoZdGVzdC9wcm90by9tZXNzYWdlcy5wcm90bzK7", - "BAoLVGVzdFNlcnZpY2USNQoJRW1wdHlDYWxsEhMuZ3JwYy50ZXN0aW5nLkVt", - "cHR5GhMuZ3JwYy50ZXN0aW5nLkVtcHR5EkYKCVVuYXJ5Q2FsbBIbLmdycGMu", - "dGVzdGluZy5TaW1wbGVSZXF1ZXN0GhwuZ3JwYy50ZXN0aW5nLlNpbXBsZVJl", - "c3BvbnNlEmwKE1N0cmVhbWluZ091dHB1dENhbGwSKC5ncnBjLnRlc3Rpbmcu", - "U3RyZWFtaW5nT3V0cHV0Q2FsbFJlcXVlc3QaKS5ncnBjLnRlc3RpbmcuU3Ry", - "ZWFtaW5nT3V0cHV0Q2FsbFJlc3BvbnNlMAESaQoSU3RyZWFtaW5nSW5wdXRD", - "YWxsEicuZ3JwYy50ZXN0aW5nLlN0cmVhbWluZ0lucHV0Q2FsbFJlcXVlc3Qa", - "KC5ncnBjLnRlc3RpbmcuU3RyZWFtaW5nSW5wdXRDYWxsUmVzcG9uc2UoARJp", - "Cg5GdWxsRHVwbGV4Q2FsbBIoLmdycGMudGVzdGluZy5TdHJlYW1pbmdPdXRw", - "dXRDYWxsUmVxdWVzdBopLmdycGMudGVzdGluZy5TdHJlYW1pbmdPdXRwdXRD", - "YWxsUmVzcG9uc2UoATABEmkKDkhhbGZEdXBsZXhDYWxsEiguZ3JwYy50ZXN0", - "aW5nLlN0cmVhbWluZ091dHB1dENhbGxSZXF1ZXN0GikuZ3JwYy50ZXN0aW5n", - "LlN0cmVhbWluZ091dHB1dENhbGxSZXNwb25zZSgBMAEyVQoUVW5pbXBsZW1l", - "bnRlZFNlcnZpY2USPQoRVW5pbXBsZW1lbnRlZENhbGwSEy5ncnBjLnRlc3Rp", - "bmcuRW1wdHkaEy5ncnBjLnRlc3RpbmcuRW1wdHkyfwoQUmVjb25uZWN0U2Vy", - "dmljZRIxCgVTdGFydBITLmdycGMudGVzdGluZy5FbXB0eRoTLmdycGMudGVz", - "dGluZy5FbXB0eRI4CgRTdG9wEhMuZ3JwYy50ZXN0aW5nLkVtcHR5GhsuZ3Jw", - "Yy50ZXN0aW5nLlJlY29ubmVjdEluZm9iBnByb3RvMw==")); - descriptor = pbr::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData, - new pbr::FileDescriptor[] { global::Grpc.Testing.Proto.Empty.Descriptor, global::Grpc.Testing.Messages.Descriptor, }, + "CiFzcmMvcHJvdG8vZ3JwYy90ZXN0aW5nL3Rlc3QucHJvdG8SDGdycGMudGVz", + "dGluZxoic3JjL3Byb3RvL2dycGMvdGVzdGluZy9lbXB0eS5wcm90bxolc3Jj", + "L3Byb3RvL2dycGMvdGVzdGluZy9tZXNzYWdlcy5wcm90bzK7BAoLVGVzdFNl", + "cnZpY2USNQoJRW1wdHlDYWxsEhMuZ3JwYy50ZXN0aW5nLkVtcHR5GhMuZ3Jw", + "Yy50ZXN0aW5nLkVtcHR5EkYKCVVuYXJ5Q2FsbBIbLmdycGMudGVzdGluZy5T", + "aW1wbGVSZXF1ZXN0GhwuZ3JwYy50ZXN0aW5nLlNpbXBsZVJlc3BvbnNlEmwK", + "E1N0cmVhbWluZ091dHB1dENhbGwSKC5ncnBjLnRlc3RpbmcuU3RyZWFtaW5n", + "T3V0cHV0Q2FsbFJlcXVlc3QaKS5ncnBjLnRlc3RpbmcuU3RyZWFtaW5nT3V0", + "cHV0Q2FsbFJlc3BvbnNlMAESaQoSU3RyZWFtaW5nSW5wdXRDYWxsEicuZ3Jw", + "Yy50ZXN0aW5nLlN0cmVhbWluZ0lucHV0Q2FsbFJlcXVlc3QaKC5ncnBjLnRl", + "c3RpbmcuU3RyZWFtaW5nSW5wdXRDYWxsUmVzcG9uc2UoARJpCg5GdWxsRHVw", + "bGV4Q2FsbBIoLmdycGMudGVzdGluZy5TdHJlYW1pbmdPdXRwdXRDYWxsUmVx", + "dWVzdBopLmdycGMudGVzdGluZy5TdHJlYW1pbmdPdXRwdXRDYWxsUmVzcG9u", + "c2UoATABEmkKDkhhbGZEdXBsZXhDYWxsEiguZ3JwYy50ZXN0aW5nLlN0cmVh", + "bWluZ091dHB1dENhbGxSZXF1ZXN0GikuZ3JwYy50ZXN0aW5nLlN0cmVhbWlu", + "Z091dHB1dENhbGxSZXNwb25zZSgBMAEyVQoUVW5pbXBsZW1lbnRlZFNlcnZp", + "Y2USPQoRVW5pbXBsZW1lbnRlZENhbGwSEy5ncnBjLnRlc3RpbmcuRW1wdHka", + "Ey5ncnBjLnRlc3RpbmcuRW1wdHkyfwoQUmVjb25uZWN0U2VydmljZRIxCgVT", + "dGFydBITLmdycGMudGVzdGluZy5FbXB0eRoTLmdycGMudGVzdGluZy5FbXB0", + "eRI4CgRTdG9wEhMuZ3JwYy50ZXN0aW5nLkVtcHR5GhsuZ3JwYy50ZXN0aW5n", + "LlJlY29ubmVjdEluZm9iBnByb3RvMw==")); + descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, + new pbr::FileDescriptor[] { global::Grpc.Testing.EmptyReflection.Descriptor, global::Grpc.Testing.MessagesReflection.Descriptor, }, new pbr::GeneratedCodeInfo(null, null)); } #endregion diff --git a/src/csharp/Grpc.IntegrationTesting/TestGrpc.cs b/src/csharp/Grpc.IntegrationTesting/TestGrpc.cs index 8c884b74086e5a29a95c0c69874a02f6e03aa8b6..2c469080d9df2f5d3408393fc77d486abdffba47 100644 --- a/src/csharp/Grpc.IntegrationTesting/TestGrpc.cs +++ b/src/csharp/Grpc.IntegrationTesting/TestGrpc.cs @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: test/proto/test.proto +// source: src/proto/grpc/testing/test.proto #region Designer generated code using System; @@ -65,7 +65,7 @@ namespace Grpc.Testing { // service descriptor public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor { - get { return global::Grpc.Testing.Test.Descriptor.Services[0]; } + get { return global::Grpc.Testing.TestReflection.Descriptor.Services[0]; } } // client interface @@ -223,7 +223,7 @@ namespace Grpc.Testing { // service descriptor public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor { - get { return global::Grpc.Testing.Test.Descriptor.Services[1]; } + get { return global::Grpc.Testing.TestReflection.Descriptor.Services[1]; } } // client interface @@ -307,7 +307,7 @@ namespace Grpc.Testing { // service descriptor public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor { - get { return global::Grpc.Testing.Test.Descriptor.Services[2]; } + get { return global::Grpc.Testing.TestReflection.Descriptor.Services[2]; } } // client interface diff --git a/src/csharp/Grpc.IntegrationTesting/packages.config b/src/csharp/Grpc.IntegrationTesting/packages.config index 5c59af1b7df7efb145885ea98b8b4030a232cf82..68490dceec1b0f84342e4f27c0329187c5377aa5 100644 --- a/src/csharp/Grpc.IntegrationTesting/packages.config +++ b/src/csharp/Grpc.IntegrationTesting/packages.config @@ -4,8 +4,7 @@ <package id="CommandLineParser" version="1.9.71" targetFramework="net45" /> <package id="Google.Apis.Auth" version="1.9.3" targetFramework="net45" /> <package id="Google.Apis.Core" version="1.9.3" targetFramework="net45" /> - <package id="Google.Protobuf" version="3.0.0-alpha4" targetFramework="net45" /> - <package id="Google.ProtocolBuffers" version="2.4.1.521" targetFramework="net45" /> + <package id="Google.Protobuf" version="3.0.0-beta2" targetFramework="net45" /> <package id="Ix-Async" version="1.2.3" targetFramework="net45" /> <package id="Microsoft.Bcl" version="1.1.10" targetFramework="net45" /> <package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net45" /> diff --git a/src/csharp/build_packages.bat b/src/csharp/build_packages.bat index 45f6b26c6667955083fe176f340527d577ec82e7..6912dad2136fcba2bbae511b4df8f00036ef6148 100644 --- a/src/csharp/build_packages.bat +++ b/src/csharp/build_packages.bat @@ -3,7 +3,7 @@ @rem Current package versions set VERSION=0.12.0 set CORE_VERSION=0.12.0 -set PROTOBUF_VERSION=3.0.0-alpha4 +set PROTOBUF_VERSION=3.0.0-beta2 @rem Packages that depend on prerelease packages (like Google.Protobuf) need to have prerelease suffix as well. set VERSION_WITH_BETA=%VERSION%-beta @@ -11,22 +11,45 @@ set VERSION_WITH_BETA=%VERSION%-beta @rem Adjust the location of nuget.exe set NUGET=C:\nuget\nuget.exe +@rem Collect the artifacts built by the previous build step if running on Jenkins +@rem TODO(jtattermusch): is there a better way to do this? +xcopy /Y /I ..\..\architecture=x86,language=csharp,platform=windows\artifacts\* grpc.native.csharp\windows_x86\ +xcopy /Y /I ..\..\architecture=x64,language=csharp,platform=windows\artifacts\* grpc.native.csharp\windows_x64\ +xcopy /Y /I ..\..\architecture=x86,language=csharp,platform=linux\artifacts\* grpc.native.csharp\linux_x86\ +xcopy /Y /I ..\..\architecture=x64,language=csharp,platform=linux\artifacts\* grpc.native.csharp\linux_x64\ +xcopy /Y /I ..\..\architecture=x86,language=csharp,platform=macos\artifacts\* grpc.native.csharp\macosx_x86\ +xcopy /Y /I ..\..\architecture=x64,language=csharp,platform=macos\artifacts\* grpc.native.csharp\macosx_x64\ + +@rem Fetch all dependencies +%NUGET% restore ..\..\vsprojects\grpc_csharp_ext.sln || goto :error +%NUGET% restore Grpc.sln || goto :error + setlocal -cd ..\..\vsprojects\nuget_package -@call buildall.bat || goto :error -endlocal -@call buildall.bat BUILD_SIGNED || goto :error +@call "%VS120COMNTOOLS%\..\..\vc\vcvarsall.bat" x86 -@call ..\..\vsprojects\build_plugins.bat || goto :error +@rem We won't use the native libraries from this step, but without this Grpc.sln will fail. +msbuild ..\..\vsprojects\grpc_csharp_ext.sln /p:Configuration=Release /p:PlatformToolset=v120 || goto :error -%NUGET% pack ..\..\vsprojects\nuget_package\grpc.native.csharp.nuspec -Version %CORE_VERSION% || goto :error +msbuild Grpc.sln /p:Configuration=ReleaseSigned || goto :error + +endlocal + +@rem TODO(jtattermusch): re-enable protoc plugin building +@rem @call ..\..\vsprojects\build_plugins.bat || goto :error + +%NUGET% pack grpc.native.csharp\grpc.native.csharp.nuspec -Version %CORE_VERSION% || goto :error %NUGET% pack Grpc.Auth\Grpc.Auth.nuspec -Symbols -Version %VERSION% || goto :error %NUGET% pack Grpc.Core\Grpc.Core.nuspec -Symbols -Version %VERSION% -Properties GrpcNativeCsharpVersion=%CORE_VERSION% || goto :error %NUGET% pack Grpc.HealthCheck\Grpc.HealthCheck.nuspec -Symbols -Version %VERSION_WITH_BETA% -Properties ProtobufVersion=%PROTOBUF_VERSION% || goto :error -%NUGET% pack Grpc.Tools.nuspec -Version %VERSION% || goto :error %NUGET% pack Grpc.nuspec -Version %VERSION% || goto :error +@rem TODO(jtattermusch): re-enable building Grpc.Tools package +@rem %NUGET% pack Grpc.Tools.nuspec -Version %VERSION% || goto :error + +@rem copy resulting nuget packages to artifacts directory +xcopy /Y /I *.nupkg ..\..\artifacts\ + goto :EOF :error diff --git a/src/csharp/buildall.bat b/src/csharp/buildall.bat index 08d4bdb3355c0c062f469488b16dab98105acbc1..fcc84426563ccb48661bc1082b488e65654523a1 100644 --- a/src/csharp/buildall.bat +++ b/src/csharp/buildall.bat @@ -15,10 +15,6 @@ msbuild ..\..\vsprojects\grpc_csharp_ext.sln /p:Configuration=Release /p:Platfor msbuild Grpc.sln /p:Configuration=Debug || goto :error msbuild Grpc.sln /p:Configuration=Release || goto :error -if "%1" == "BUILD_SIGNED" ( -msbuild Grpc.sln /p:Configuration=ReleaseSigned || goto :error -) - endlocal goto :EOF diff --git a/src/csharp/generate_proto_csharp.sh b/src/csharp/generate_proto_csharp.sh index 3aeda21ba3a3736c779e14829493dcc94dc0e29b..0261a458af730dd3996a21e9f10d3e346fa68791 100755 --- a/src/csharp/generate_proto_csharp.sh +++ b/src/csharp/generate_proto_csharp.sh @@ -45,4 +45,4 @@ $PROTOC --plugin=$PLUGIN --csharp_out=$HEALTHCHECK_DIR --grpc_out=$HEALTHCHECK_D -I src/proto/grpc/health/v1alpha src/proto/grpc/health/v1alpha/health.proto $PROTOC --plugin=$PLUGIN --csharp_out=$TESTING_DIR --grpc_out=$TESTING_DIR \ - -I . src/proto/grpc/testing/{empty,messages,test}.proto test/proto/benchmarks/*.proto + -I . src/proto/grpc/testing/{control,empty,messages,payloads,services,stats,test}.proto diff --git a/src/csharp/grpc.native.csharp/README.md b/src/csharp/grpc.native.csharp/README.md new file mode 100644 index 0000000000000000000000000000000000000000..77f1cb9b1f25fb63dfc06d63402e767f8dab3a53 --- /dev/null +++ b/src/csharp/grpc.native.csharp/README.md @@ -0,0 +1,22 @@ +gRPC Native Nuget package +========================= + +Prerequisites +------------- + +NuGet binary + +Building the package +-------------------- + +To build the native package, you need precompiled versions +of grpc_csharp_ext library artifacts for Windows, Linux and Mac. +In the normal gRPC release process, these are built by a Jenkins +job and they are copied to the expected location before building +the native nuget package is attempted. + +See tools/run_tests/build_artifacts.py for more details how +precompiled artifacts are built. + +When building the native NuGet package, ignore the "Assembly outside lib folder" +warnings (the DLLs are not assemblies, they are native libraries). diff --git a/src/csharp/grpc.native.csharp/grpc.native.csharp.nuspec b/src/csharp/grpc.native.csharp/grpc.native.csharp.nuspec new file mode 100644 index 0000000000000000000000000000000000000000..6a1795b7090a38b3602b4536dac84641aedd4b9b --- /dev/null +++ b/src/csharp/grpc.native.csharp/grpc.native.csharp.nuspec @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<package> + <metadata> + <id>grpc.native.csharp</id> + <version>$version$</version> + <authors>Google Inc.</authors> + <owners>grpc-packages</owners> + <licenseUrl>https://github.com/grpc/grpc/blob/master/LICENSE</licenseUrl> + <projectUrl>http://github.com/grpc/grpc</projectUrl> + <requireLicenseAcceptance>false</requireLicenseAcceptance> + <description>Native extension needed by gRPC C# library. This is not the package you are looking for, it is only meant to be used as a dependency.</description> + <releaseNotes>Release of gRPC C core $version$ libraries.</releaseNotes> + <copyright>Copyright 2015-2016</copyright> + <title>gRPC C# Native Extension</title> + <summary>Native library required by gRPC C#</summary> + <tags>gRPC native</tags> + </metadata> + <files> + <file src="grpc.native.csharp.targets" target="\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets" /> + <file src="windows_x86/grpc_csharp_ext.dll" target="/build/native/bin/windows_x86/grpc_csharp_ext.dll" /> + <file src="windows_x64/grpc_csharp_ext.dll" target="/build/native/bin/windows_x64/grpc_csharp_ext.dll" /> + <file src="linux_x86/libgrpc_csharp_ext.so" target="/build/native/bin/linux_x86/libgrpc_csharp_ext.so" /> + <file src="linux_x64/libgrpc_csharp_ext.so" target="/build/native/bin/linux_x64/libgrpc_csharp_ext.so" /> + <file src="macosx_x86/libgrpc_csharp_ext.dylib" target="/build/native/bin/macosx_x86/libgrpc_csharp_ext.dylib" /> + <file src="macosx_x64/libgrpc_csharp_ext.dylib" target="/build/native/bin/macosx_x64/libgrpc_csharp_ext.dylib" /> + </files> +</package> diff --git a/src/csharp/grpc.native.csharp/grpc.native.csharp.targets b/src/csharp/grpc.native.csharp/grpc.native.csharp.targets new file mode 100644 index 0000000000000000000000000000000000000000..501fc5054827ac0eb9994f3bcd098cb2182cc3ca --- /dev/null +++ b/src/csharp/grpc.native.csharp/grpc.native.csharp.targets @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Content Include="$(MSBuildThisFileDirectory)..\..\build\native\bin\windows_x86\grpc_csharp_ext.dll"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <Link>nativelibs\windows_x86\grpc_csharp_ext.dll</Link> + </Content> + <Content Include="$(MSBuildThisFileDirectory)..\..\build\native\bin\windows_x64\grpc_csharp_ext.dll"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <Link>nativelibs\windows_x64\grpc_csharp_ext.dll</Link> + </Content> + <Content Include="$(MSBuildThisFileDirectory)..\..\build\native\bin\linux_x86\libgrpc_csharp_ext.so"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <Link>nativelibs\linux_x86\libgrpc_csharp_ext.so</Link> + </Content> + <Content Include="$(MSBuildThisFileDirectory)..\..\build\native\bin\linux_x64\libgrpc_csharp_ext.so"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <Link>nativelibs\linux_x64\libgrpc_csharp_ext.so</Link> + </Content> + <Content Include="$(MSBuildThisFileDirectory)..\..\build\native\bin\macosx_x86\libgrpc_csharp_ext.dylib"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <Link>nativelibs\macosx_x86\libgrpc_csharp_ext.dylib</Link> + </Content> + <Content Include="$(MSBuildThisFileDirectory)..\..\build\native\bin\macosx_x64\libgrpc_csharp_ext.dylib"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + <Link>nativelibs\macosx_x64\libgrpc_csharp_ext.dylib</Link> + </Content> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/src/csharp/keys/Grpc.snk b/src/csharp/keys/Grpc.snk new file mode 100644 index 0000000000000000000000000000000000000000..cbeb68d3da1abcc3bb52b8560fdd7901b1e0e6b0 Binary files /dev/null and b/src/csharp/keys/Grpc.snk differ diff --git a/src/csharp/keys/README.md b/src/csharp/keys/README.md index f3e9a3cb5614bd1de9354bb3fd6d22a835f426a5..968749aa0d78eee7516131c140b51bf1093deb89 100644 --- a/src/csharp/keys/README.md +++ b/src/csharp/keys/README.md @@ -2,4 +2,8 @@ Contents -------- - Grpc.public.snk: - Public key to verify strong name of gRPC assemblies. \ No newline at end of file + Public key to verify strong name of gRPC assemblies. +- Grpc.snk: + Signing key to provide strong name of gRPC assemblies. + As per https://msdn.microsoft.com/en-us/library/wd40t7ad(v=vs.110).aspx + signing key should be checked into the repository. \ No newline at end of file diff --git a/src/objective-c/ProtoRPC/ProtoMethod.m b/src/objective-c/ProtoRPC/ProtoMethod.m index 1113b4fbaa3ce74dcd2c5b8062ec0a5a67685ff1..75e5efc23e7f2e5569438066ff9d0a8ef550c62d 100644 --- a/src/objective-c/ProtoRPC/ProtoMethod.m +++ b/src/objective-c/ProtoRPC/ProtoMethod.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,7 @@ } - (NSString *)HTTPPath { - if (_package) { + if (_package && _package.length > 0) { return [NSString stringWithFormat:@"/%@.%@/%@", _package, _service, _method]; } else { return [NSString stringWithFormat:@"/%@/%@", _service, _method]; diff --git a/src/objective-c/examples/Sample/Sample/ViewController.m b/src/objective-c/examples/Sample/Sample/ViewController.m index 3d634a340df6dad79715fc9a91f7d0216262bf71..a2bb3ee32986c67546aeea6c3c2e6b17cea01c20 100644 --- a/src/objective-c/examples/Sample/Sample/ViewController.m +++ b/src/objective-c/examples/Sample/Sample/ViewController.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -45,7 +45,7 @@ - (void)viewDidLoad { [super viewDidLoad]; - NSString * const kRemoteHost = @"grpc-test.sandbox.google.com"; + NSString * const kRemoteHost = @"grpc-test.sandbox.googleapis.com"; RMTSimpleRequest *request = [[RMTSimpleRequest alloc] init]; request.responseSize = 10; diff --git a/src/objective-c/examples/SwiftSample/ViewController.swift b/src/objective-c/examples/SwiftSample/ViewController.swift index 76dad9e13237666130b961748382190104256318..a21ce07978df7ba03a725132a2b01be181e44611 100644 --- a/src/objective-c/examples/SwiftSample/ViewController.swift +++ b/src/objective-c/examples/SwiftSample/ViewController.swift @@ -38,7 +38,7 @@ class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() - let RemoteHost = "grpc-test.sandbox.google.com" + let RemoteHost = "grpc-test.sandbox.googleapis.com" let request = RMTSimpleRequest() request.responseSize = 10 diff --git a/src/objective-c/tests/InteropTestsRemote.m b/src/objective-c/tests/InteropTestsRemote.m index a67be98431e2ea551eaf440c8176df8da14e6973..00eadc25bc33f5a6d1f6341f8e66c8f34cbb8132 100644 --- a/src/objective-c/tests/InteropTestsRemote.m +++ b/src/objective-c/tests/InteropTestsRemote.m @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +35,7 @@ #import "InteropTests.h" -static NSString * const kRemoteSSLHost = @"grpc-test.sandbox.google.com"; +static NSString * const kRemoteSSLHost = @"grpc-test.sandbox.googleapis.com"; /** Tests in InteropTests.m, sending the RPCs to a remote SSL server. */ @interface InteropTestsRemote : InteropTests diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py index e1a3f4bed3cc9ed74644e69d0aed202261b9a422..bd12c5579cbcdea6363f4a03249eeb598067d917 100644 --- a/src/python/grpcio/commands.py +++ b/src/python/grpcio/commands.py @@ -39,17 +39,7 @@ import sys import setuptools from setuptools.command import build_py from setuptools.command import test - -# Because we need to support building without Cython but simultaneously need to -# subclass its command class when we need to and because distutils requires a -# special hook to acquire a command class, we attempt to import Cython's -# build_ext, and if that fails we import setuptools'. -try: - # Due to the strange way Cython's Distutils module re-imports build_ext, we - # import the build_ext class directly. - from Cython.Distutils.build_ext import build_ext -except ImportError: - from setuptools.command.build_ext import build_ext +from setuptools.command import build_ext PYTHON_STEM = os.path.dirname(os.path.abspath(__file__)) @@ -179,7 +169,7 @@ class BuildPy(build_py.build_py): build_py.build_py.run(self) -class BuildExt(build_ext): +class BuildExt(build_ext.build_ext): """Custom build_ext command to enable compiler-specific flags.""" C_OPTIONS = { @@ -196,7 +186,7 @@ class BuildExt(build_ext): if compiler in BuildExt.LINK_OPTIONS: for extension in self.extensions: extension.extra_link_args += list(BuildExt.LINK_OPTIONS[compiler]) - build_ext.build_extensions(self) + build_ext.build_ext.build_extensions(self) class Gather(setuptools.Command): diff --git a/src/python/grpcio/grpc/framework/core/_termination.py b/src/python/grpcio/grpc/framework/core/_termination.py index bdb9147e5b2d445530d5fe50913ef6cf94efeebb..364158b2b8764003b89f0d93939d0ce8e8c7793b 100644 --- a/src/python/grpcio/grpc/framework/core/_termination.py +++ b/src/python/grpcio/grpc/framework/core/_termination.py @@ -1,4 +1,4 @@ -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -46,8 +46,8 @@ def _invocation_completion_predicate( def _service_completion_predicate( unused_emission_complete, transmission_complete, unused_reception_complete, - unused_ingestion_complete): - return transmission_complete + ingestion_complete): + return transmission_complete and ingestion_complete class TerminationManager(_interfaces.TerminationManager): diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 952898d74a2c8cf795ab88216aaaeb7efcc99f51..98ab1ff7f0e8424bff14c4aafa895717f1a3e190 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -221,6 +221,7 @@ CORE_SOURCE_FILES = [ 'src/core/census/context.c', 'src/core/census/initialize.c', 'src/core/census/operation.c', + 'src/core/census/tag_set.c', 'src/core/census/tracing.c', 'src/boringssl/err_data.c', 'third_party/boringssl/crypto/aes/aes.c', @@ -516,4 +517,19 @@ CORE_SOURCE_FILES = [ 'third_party/boringssl/ssl/t1_enc.c', 'third_party/boringssl/ssl/t1_lib.c', 'third_party/boringssl/ssl/tls_record.c', + 'third_party/zlib/adler32.c', + 'third_party/zlib/compress.c', + 'third_party/zlib/crc32.c', + 'third_party/zlib/deflate.c', + 'third_party/zlib/gzclose.c', + 'third_party/zlib/gzlib.c', + 'third_party/zlib/gzread.c', + 'third_party/zlib/gzwrite.c', + 'third_party/zlib/infback.c', + 'third_party/zlib/inffast.c', + 'third_party/zlib/inflate.c', + 'third_party/zlib/inftrees.c', + 'third_party/zlib/trees.c', + 'third_party/zlib/uncompr.c', + 'third_party/zlib/zutil.c', ] diff --git a/src/python/grpcio/tests/unit/_cython/_channel_test.py b/src/python/grpcio/tests/unit/_cython/_channel_test.py new file mode 100644 index 0000000000000000000000000000000000000000..b414f8e6f690771026d4f3b7422bbe089175c1e4 --- /dev/null +++ b/src/python/grpcio/tests/unit/_cython/_channel_test.py @@ -0,0 +1,83 @@ +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import time +import threading +import unittest + +from grpc._cython import cygrpc + +# TODO(nathaniel): This should be at least one hundred. Why not one thousand? +_PARALLELISM = 4 + + +def _channel_and_completion_queue(): + channel = cygrpc.Channel('localhost:54321', cygrpc.ChannelArgs(())) + completion_queue = cygrpc.CompletionQueue() + return channel, completion_queue + + +def _connectivity_loop(channel, completion_queue): + for _ in range(100): + connectivity = channel.check_connectivity_state(True) + channel.watch_connectivity_state( + connectivity, cygrpc.Timespec(time.time() + 0.2), completion_queue, + None) + completion_queue.poll(deadline=cygrpc.Timespec(float('+inf'))) + + +def _create_loop_destroy(): + channel, completion_queue = _channel_and_completion_queue() + _connectivity_loop(channel, completion_queue) + completion_queue.shutdown() + + +def _in_parallel(behavior, arguments): + threads = tuple( + threading.Thread(target=behavior, args=arguments) + for _ in range(_PARALLELISM)) + for thread in threads: + thread.start() + for thread in threads: + thread.join() + + +class ChannelTest(unittest.TestCase): + + def test_single_channel_lonely_connectivity(self): + channel, completion_queue = _channel_and_completion_queue() + _in_parallel(_connectivity_loop, (channel, completion_queue,)) + completion_queue.shutdown() + + def test_multiple_channels_lonely_connectivity(self): + _in_parallel(_create_loop_destroy, ()) + + +if __name__ == '__main__': + unittest.main(verbosity=2) diff --git a/src/python/grpcio/tests/unit/framework/common/test_constants.py b/src/python/grpcio/tests/unit/framework/common/test_constants.py index e1d3c2709d00eb127907ee736d1402fcc1f4bc56..9f1fb8471ca31905adf6b3b69e6114704c86e70c 100644 --- a/src/python/grpcio/tests/unit/framework/common/test_constants.py +++ b/src/python/grpcio/tests/unit/framework/common/test_constants.py @@ -1,4 +1,4 @@ -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -49,5 +49,8 @@ STREAM_LENGTH = 200 # The size of payloads to transmit in tests. PAYLOAD_SIZE = 256 * 1024 + 17 +# The parallelism to use in tests of parallel RPCs. +PARALLELISM = 200 + # The size of thread pools to use in tests. POOL_SIZE = 10 diff --git a/src/python/grpcio/tests/unit/framework/interfaces/face/_future_invocation_asynchronous_event_service.py b/src/python/grpcio/tests/unit/framework/interfaces/face/_future_invocation_asynchronous_event_service.py index c178f2f1083fb06a665a742e0286b9f59fc0f994..fc8daa992fafab92de5217e7d52617086ecaaa6c 100644 --- a/src/python/grpcio/tests/unit/framework/interfaces/face/_future_invocation_asynchronous_event_service.py +++ b/src/python/grpcio/tests/unit/framework/interfaces/face/_future_invocation_asynchronous_event_service.py @@ -1,4 +1,4 @@ -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -219,6 +219,24 @@ class TestCase(test_coverage.Coverage, unittest.TestCase): test_messages.verify(second_request, second_response, self) + for (group, method), test_messages_sequence in ( + self._digest.unary_unary_messages_sequences.iteritems()): + for test_messages in test_messages_sequence: + requests = [] + response_futures = [] + for _ in range(test_constants.PARALLELISM): + request = test_messages.request() + response_future = self._invoker.future(group, method)( + request, test_constants.LONG_TIMEOUT) + requests.append(request) + response_futures.append(response_future) + + responses = [ + response_future.result() for response_future in response_futures] + + for request, response in zip(requests, responses): + test_messages.verify(request, response, self) + def testParallelInvocations(self): for (group, method), test_messages_sequence in ( self._digest.unary_unary_messages_sequences.iteritems()): diff --git a/src/ruby/README.md b/src/ruby/README.md index 76d9f7663a0f0efb36dfe2655567d59dddbca516..31795754866af7c7ba39b3f67b7d8a7b3fb9ad24 100644 --- a/src/ruby/README.md +++ b/src/ruby/README.md @@ -13,41 +13,16 @@ PREREQUISITES ------------- - Ruby 2.x. The gRPC API uses keyword args. -- [homebrew][] on Mac OS X. These simplify the installation of the gRPC C core. INSTALLATION --------------- -**Linux (Debian):** - -Add [Debian jessie-backports][] to your `sources.list` file. Example: - -```sh -echo "deb http://http.debian.net/debian jessie-backports main" | \ -sudo tee -a /etc/apt/sources.list -``` - -Install the gRPC Debian package - -```sh -sudo apt-get update -sudo apt-get install libgrpc-dev -``` - -Install the gRPC Ruby package +**Linux and Mac OS X:** ```sh gem install grpc ``` -**Mac OS X** - -Install [homebrew][]. Run the following command to install gRPC Ruby. -```sh -$ curl -fsSL https://goo.gl/getgrpc | bash -s ruby -``` -This will download and run the [gRPC install script][], then install the latest version of gRPC Ruby gem. It also installs Protocol Buffers compiler (_protoc_) and the gRPC _protoc_ plugin for ruby. - BUILD FROM SOURCE --------------------- - Clone this repository @@ -95,8 +70,7 @@ Directory structure is the layout for [ruby extensions][] resp = stub.div(req) GRPC.logger.info("Answer: #{resp.inspect}") ``` -[homebrew]:http://brew.sh -[gRPC install script]:https://raw.githubusercontent.com/grpc/homebrew-grpc/master/scripts/install + [ruby extensions]:http://guides.rubygems.org/gems-with-extensions/ [rubydoc]: http://www.rubydoc.info/gems/grpc [grpc.io]: http://www.grpc.io/docs/installation/ruby.html diff --git a/src/zlib/gen_build_yaml.py b/src/zlib/gen_build_yaml.py new file mode 100755 index 0000000000000000000000000000000000000000..8d6064b10a5cd4d159ec5b13a8c049c45345a36c --- /dev/null +++ b/src/zlib/gen_build_yaml.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python2.7 + +# Copyright 2015-2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import re +import os +import sys +import yaml + +os.chdir(os.path.dirname(sys.argv[0])+'/../..') + +out = {} + +try: + with open('third_party/zlib/CMakeLists.txt') as f: + cmake = f.read() + + def cmpath(x): + return 'third_party/zlib/%s' % x.replace('${CMAKE_CURRENT_BINARY_DIR}/', '') + + def cmvar(name): + regex = r'set\(\s*' + regex += name + regex += r'([^)]*)\)' + return [cmpath(x) for x in re.search(regex, cmake).group(1).split()] + + out['libs'] = [{ + 'name': 'z', + 'zlib': True, + 'build': 'private', + 'language': 'c', + 'secure': 'no', + 'src': sorted(cmvar('ZLIB_SRCS')), + 'headers': sorted(cmvar('ZLIB_PUBLIC_HDRS') + cmvar('ZLIB_PRIVATE_HDRS')), + }] +except: + pass + +print yaml.dump(out) + diff --git a/templates/BUILD.template b/templates/BUILD.template index bb18c353b103bf96c7bfd5dca0d8773aac41f76f..54dc69712526d5367085bd0654c9dc052df41803 100644 --- a/templates/BUILD.template +++ b/templates/BUILD.template @@ -104,6 +104,11 @@ "${dep}", % endfor ], + % if lib.name in ("grpc", "grpc_unsecure"): + copts = [ + "-std=gnu99", + ], + % endif ) </%def> diff --git a/templates/Makefile.template b/templates/Makefile.template index 4353a0de3a8972867d81b7521f19501e36aeee15..589f724fd1cd329b2be01e267cf88edd5603d6a3 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -105,114 +105,24 @@ # Configurations - VALID_CONFIG_opt = 1 - CC_opt = $(DEFAULT_CC) - CXX_opt = $(DEFAULT_CXX) - LD_opt = $(DEFAULT_CC) - LDXX_opt = $(DEFAULT_CXX) - CPPFLAGS_opt = -O2 - LDFLAGS_opt = -rdynamic - DEFINES_opt = NDEBUG - - VALID_CONFIG_basicprof = 1 - CC_basicprof = $(DEFAULT_CC) - CXX_basicprof = $(DEFAULT_CXX) - LD_basicprof = $(DEFAULT_CC) - LDXX_basicprof = $(DEFAULT_CXX) - CPPFLAGS_basicprof = -O2 -DGRPC_BASIC_PROFILER -DGRPC_TIMERS_RDTSC - LDFLAGS_basicprof = - DEFINES_basicprof = NDEBUG - - VALID_CONFIG_stapprof = 1 - CC_stapprof = $(DEFAULT_CC) - CXX_stapprof = $(DEFAULT_CXX) - LD_stapprof = $(DEFAULT_CC) - LDXX_stapprof = $(DEFAULT_CXX) - CPPFLAGS_stapprof = -O2 -DGRPC_STAP_PROFILER - LDFLAGS_stapprof = - DEFINES_stapprof = NDEBUG - - VALID_CONFIG_dbg = 1 - CC_dbg = $(DEFAULT_CC) - CXX_dbg = $(DEFAULT_CXX) - LD_dbg = $(DEFAULT_CC) - LDXX_dbg = $(DEFAULT_CXX) - CPPFLAGS_dbg = -O0 - LDFLAGS_dbg = -rdynamic - DEFINES_dbg = _DEBUG DEBUG - - VALID_CONFIG_mutrace = 1 - CC_mutrace = $(DEFAULT_CC) - CXX_mutrace = $(DEFAULT_CXX) - LD_mutrace = $(DEFAULT_CC) - LDXX_mutrace = $(DEFAULT_CXX) - CPPFLAGS_mutrace = -O0 - LDFLAGS_mutrace = -rdynamic - DEFINES_mutrace = _DEBUG DEBUG - - VALID_CONFIG_valgrind = 1 - REQUIRE_CUSTOM_LIBRARIES_valgrind = 1 - CC_valgrind = $(DEFAULT_CC) - CXX_valgrind = $(DEFAULT_CXX) - LD_valgrind = $(DEFAULT_CC) - LDXX_valgrind = $(DEFAULT_CXX) - CPPFLAGS_valgrind = -O0 - LDFLAGS_valgrind = -rdynamic - DEFINES_valgrind = _DEBUG DEBUG GRPC_TEST_SLOWDOWN_BUILD_FACTOR=20 - - VALID_CONFIG_tsan = 1 - REQUIRE_CUSTOM_LIBRARIES_tsan = 1 - CC_tsan = clang - CXX_tsan = clang++ - LD_tsan = clang - LDXX_tsan = clang++ - CFLAGS_tsan = -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument -fPIE -pie - CXXFLAGS_tsan = -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument -fPIE -pie - LDFLAGS_tsan = -fsanitize=thread -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,) - DEFINES_tsan = NDEBUG GRPC_TEST_SLOWDOWN_BUILD_FACTOR=10 - - VALID_CONFIG_asan = 1 - REQUIRE_CUSTOM_LIBRARIES_asan = 1 - CC_asan = clang - CXX_asan = clang++ - LD_asan = clang - LDXX_asan = clang++ - CFLAGS_asan = -O0 -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument - CXXFLAGS_asan = -O0 -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument - LDFLAGS_asan = -fsanitize=address - DEFINES_asan = GRPC_TEST_SLOWDOWN_BUILD_FACTOR=3 - - VALID_CONFIG_msan = 1 - REQUIRE_CUSTOM_LIBRARIES_msan = 1 - CC_msan = clang - CXX_msan = clang++-libc++ - LD_msan = clang - LDXX_msan = clang++-libc++ - CFLAGS_msan = -O0 -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-command-line-argument -fPIE -pie - CXXFLAGS_msan = -O0 -fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-command-line-argument -fPIE -pie - LDFLAGS_msan = -fsanitize=memory -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,) - DEFINES_msan = NDEBUG GRPC_TEST_SLOWDOWN_BUILD_FACTOR=4 - - VALID_CONFIG_ubsan = 1 - REQUIRE_CUSTOM_LIBRARIES_ubsan = 1 - CC_ubsan = clang - CXX_ubsan = clang++ - LD_ubsan = clang - LDXX_ubsan = clang++ - CFLAGS_ubsan = -O1 -fsanitize=undefined -fno-omit-frame-pointer -Wno-unused-command-line-argument - CXXFLAGS_ubsan = -O1 -fsanitize=undefined -fno-omit-frame-pointer -Wno-unused-command-line-argument - LDFLAGS_ubsan = -fsanitize=undefined - DEFINES_ubsan = NDEBUG GRPC_TEST_SLOWDOWN_BUILD_FACTOR=3 - - VALID_CONFIG_gcov = 1 - CC_gcov = gcc - CXX_gcov = g++ - LD_gcov = gcc - LDXX_gcov = g++ - CFLAGS_gcov = -O0 -fprofile-arcs -ftest-coverage -Wno-return-type - CXXFLAGS_gcov = -O0 -fprofile-arcs -ftest-coverage -Wno-return-type - LDFLAGS_gcov = -fprofile-arcs -ftest-coverage -rdynamic - DEFINES_gcov = _DEBUG DEBUG GPR_GCOV + % for name, args in configs.iteritems(): + VALID_CONFIG_${name} = 1 + % if args.get('compile_the_world', False): + REQUIRE_CUSTOM_LIBRARIES_${name} = 1 + % endif + % for tool, default in [('CC', 'CC'), ('CXX', 'CXX'), ('LD', 'CC'), ('LDXX', 'CXX')]: + ${tool}_${name} = ${args.get(tool, '$(DEFAULT_%s)' % default)} + % endfor + % for arg in ['CFLAGS', 'CXXFLAGS', 'CPPFLAGS', 'LDFLAGS', 'DEFINES']: + % if args.get(arg, None) is not None: + ${arg}_${name} = ${args.get(arg)} + % endif + % endfor + % if args.get('timeout_multiplier', 1) != 1: + DEFINES_${name} += GRPC_TEST_SLOWDOWN_BUILD_FACTOR=${args.timeout_multiplier} + % endif + + % endfor # General settings. @@ -542,14 +452,21 @@ PC_LIBS_GRPC = ifeq ($(HAS_SYSTEM_ZLIB),false) - ifeq ($(HAS_EMBEDDED_ZLIB),true) - ZLIB_DEP = $(LIBDIR)/$(CONFIG)/zlib/libz.a - ZLIB_MERGE_LIBS = $(LIBDIR)/$(CONFIG)/zlib/libz.a - CPPFLAGS += -Ithird_party/zlib - LDFLAGS += -L$(LIBDIR)/$(CONFIG)/zlib + ifeq ($(HAS_EMBEDDED_ZLIB), true) + EMBED_ZLIB ?= true else DEP_MISSING += zlib + EMBED_ZLIB ?= broken + endif + else + EMBED_ZLIB ?= false endif + + ifeq ($(EMBED_ZLIB),true) + ZLIB_DEP = $(LIBDIR)/$(CONFIG)/libz.a + ZLIB_MERGE_LIBS = $(LIBDIR)/$(CONFIG)/libz.a + CPPFLAGS += -Ithird_party/zlib + LDFLAGS += -L$(LIBDIR)/$(CONFIG)/zlib else ifeq ($(HAS_PKG_CONFIG),true) CPPFLAGS += $(shell $(PKG_CONFIG) --cflags zlib) @@ -849,14 +766,6 @@ $(PROTOC_CHECK_VERSION_CMD) || true $(ZOOKEEPER_CHECK_CMD) || true - $(LIBDIR)/$(CONFIG)/zlib/libz.a: - $(E) "[MAKE] Building zlib" - $(Q)(cd third_party/zlib ; CC="$(CC)" CFLAGS="$(CFLAGS_$(CONFIG)) $(PIC_CPPFLAGS) -fvisibility=hidden $(CPPFLAGS_$(CONFIG)) $(ZLIB_CFLAGS_EXTRA)" ./configure --static) - $(Q)$(MAKE) -C third_party/zlib clean - $(Q)$(MAKE) -C third_party/zlib - $(Q)mkdir -p $(LIBDIR)/$(CONFIG)/zlib - $(Q)cp third_party/zlib/libz.a $(LIBDIR)/$(CONFIG)/zlib - third_party/protobuf/configure: $(E) "[AUTOGEN] Preparing protobuf" $(Q)(cd third_party/protobuf ; autoreconf -f -i -Wall,no-obsolete) @@ -1528,6 +1437,8 @@ $(LIB${lib.name.upper()}_OBJS): CFLAGS := -Ithird_party/boringssl/include $(CFLAGS) -Wno-sign-conversion -Wno-conversion -Wno-unused-value -fvisibility=hidden $(LIB${lib.name.upper()}_OBJS): CXXFLAGS := -Ithird_party/boringssl/include $(CXXFLAGS) -fvisibility=hidden $(LIB${lib.name.upper()}_OBJS): CPPFLAGS += -DOPENSSL_NO_ASM -D_GNU_SOURCE + % elif lib.zlib: + $(LIB${lib.name.upper()}_OBJS): CFLAGS := $(CFLAGS) -Wno-sign-conversion -Wno-conversion -Wno-unused-value -Wno-implicit-function-declaration -fvisibility=hidden % else: % endif diff --git a/templates/tools/run_tests/configs.json.template b/templates/tools/run_tests/configs.json.template new file mode 100644 index 0000000000000000000000000000000000000000..5c82dfb34794c3bd4697f67a12b8d68b69be524d --- /dev/null +++ b/templates/tools/run_tests/configs.json.template @@ -0,0 +1,17 @@ +%YAML 1.2 +--- | + <% + import json + out_configs = [] + for name, args in configs.iteritems(): + config_args={} + config_args['config'] = name + if args.get('valgrind', None) is not None: + config_args['tool_prefix'] = ['valgrind'] + args.valgrind.split(' ') + if args.get('timeout_multiplier', 1) != 1: + config_args['timeout_multiplier'] = args.timeout_multiplier + if args.get('test_environ', None) is not None: + config_args['environ'] = args.test_environ + out_configs.append(config_args) + %>\ + ${json.dumps(out_configs, sort_keys=True, indent=2)} diff --git a/templates/tools/run_tests/sources_and_headers.json.template b/templates/tools/run_tests/sources_and_headers.json.template index ba1c5a5ef8521e0fe6286343cd1d95f4f7a58be0..04802772af50d362554c6f1426aed04515506411 100644 --- a/templates/tools/run_tests/sources_and_headers.json.template +++ b/templates/tools/run_tests/sources_and_headers.json.template @@ -32,5 +32,5 @@ proto_headers(tgt.src)), "deps": sorted(tgt.get('deps', []))} for tgt in (targets + libs) - if not tgt.boringssl], + if not tgt.boringssl and not tgt.zlib], sort_keys=True, indent=2)} diff --git a/templates/tools/run_tests/tests.json.template b/templates/tools/run_tests/tests.json.template index 3a3ac1e0f3bd37fa7a8267a470b016a4037a1340..9a84783467ac3abe4b70e5ee301e98214234a4ab 100644 --- a/templates/tools/run_tests/tests.json.template +++ b/templates/tools/run_tests/tests.json.template @@ -10,7 +10,8 @@ "ci_platforms": tgt.ci_platforms, "exclude_configs": tgt.get("exclude_configs", []), "args": [], - "flaky": tgt.flaky} + "flaky": tgt.flaky, + "cpu_cost": tgt.get("cpu_cost", 1.0)} for tgt in targets if tgt.get('run', True) and tgt.build == 'test'] + tests, diff --git a/templates/vsprojects/buildtests_c.sln.template b/templates/vsprojects/buildtests_c.sln.template index e9438bed22f754a34979306f95680a4df35b6414..a985fea64ddcb9ade3ded5360fd77c1b5967ae42 100644 --- a/templates/vsprojects/buildtests_c.sln.template +++ b/templates/vsprojects/buildtests_c.sln.template @@ -2,6 +2,6 @@ --- | <%namespace file="sln_defs.include" import="gen_solution"/>\ <% - solution_projects = [p for p in vsprojects if p.build != 'protoc' and p.language == 'c' and not p.boringssl] + solution_projects = [p for p in vsprojects if p.build != 'protoc' and p.language == 'c' and not p.boringssl and not p.zlib] %>\ ${gen_solution(solution_projects, use_dlls='yes')} diff --git a/test/core/bad_client/gen_build_yaml.py b/test/core/bad_client/gen_build_yaml.py index a86a50065d71d6110a5721a7e0590798fd1cba06..c538bffd718fd4d12548ae89a717eacaf5046e07 100755 --- a/test/core/bad_client/gen_build_yaml.py +++ b/test/core/bad_client/gen_build_yaml.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -35,15 +35,15 @@ import collections import yaml -TestOptions = collections.namedtuple('TestOptions', 'flaky') -default_test_options = TestOptions(False) +TestOptions = collections.namedtuple('TestOptions', 'flaky cpu_cost') +default_test_options = TestOptions(False, 1.0) # maps test names to options BAD_CLIENT_TESTS = { 'badreq': default_test_options, - 'connection_prefix': default_test_options, - 'headers': default_test_options, - 'initial_settings_frame': default_test_options, + 'connection_prefix': default_test_options._replace(cpu_cost=0.2), + 'headers': default_test_options._replace(cpu_cost=0.2), + 'initial_settings_frame': default_test_options._replace(cpu_cost=0.2), 'server_registered_method': default_test_options, 'simple_request': default_test_options, 'window_overflow': default_test_options, @@ -75,6 +75,7 @@ def main(): 'targets': [ { 'name': '%s_bad_client_test' % t, + 'cpu_cost': BAD_CLIENT_TESTS[t].cpu_cost, 'build': 'test', 'language': 'c', 'secure': 'no', diff --git a/test/core/bad_ssl/gen_build_yaml.py b/test/core/bad_ssl/gen_build_yaml.py index 15189d8b79249ac7aa1bd205b895d532f18e0232..cc097a8fdf61910ed7423d1ff6cc714682221e9c 100755 --- a/test/core/bad_ssl/gen_build_yaml.py +++ b/test/core/bad_ssl/gen_build_yaml.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -35,13 +35,13 @@ import collections import yaml -TestOptions = collections.namedtuple('TestOptions', 'flaky') -default_test_options = TestOptions(False) +TestOptions = collections.namedtuple('TestOptions', 'flaky cpu_cost') +default_test_options = TestOptions(False, 1.0) # maps test names to options BAD_CLIENT_TESTS = { - 'cert': default_test_options, - 'alpn': default_test_options, + 'cert': default_test_options._replace(cpu_cost=0.1), + 'alpn': default_test_options._replace(cpu_cost=0.1), } def main(): @@ -84,6 +84,7 @@ def main(): for t in sorted(BAD_CLIENT_TESTS.keys())] + [ { 'name': 'bad_ssl_%s_test' % t, + 'cpu_cost': BAD_CLIENT_TESTS[t].cpu_cost, 'build': 'test', 'language': 'c', 'src': ['test/core/bad_ssl/bad_ssl_test.c'], diff --git a/test/core/census/tag_set_test.c b/test/core/census/tag_set_test.c new file mode 100644 index 0000000000000000000000000000000000000000..1056e98d55cc02aacd267cf5fffc5e3dd936408f --- /dev/null +++ b/test/core/census/tag_set_test.c @@ -0,0 +1,375 @@ +/* + * + * Copyright 2015-2016, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +// Test census_tag_set functions, including encoding/decoding + +#include <grpc/census.h> +#include <grpc/support/log.h> +#include <grpc/support/time.h> +#include <stdbool.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "test/core/util/test_config.h" + +static uint8_t one_byte_val = 7; +static uint32_t four_byte_val = 0x12345678; +static uint64_t eight_byte_val = 0x1234567890abcdef; + +// A set of tags Used to create a basic tag_set for testing. Each tag has a +// unique set of flags. Note that replace_add_delete_test() relies on specific +// offsets into this array - if you add or delete entries, you will also need +// to change the test. +#define BASIC_TAG_COUNT 8 +static census_tag basic_tags[BASIC_TAG_COUNT] = { + /* 0 */ {"key0", "printable", 10, 0}, + /* 1 */ {"k1", "a", 2, CENSUS_TAG_PROPAGATE}, + /* 2 */ {"k2", "longer printable string", 24, CENSUS_TAG_STATS}, + /* 3 */ {"key_three", (char *)&one_byte_val, 1, CENSUS_TAG_BINARY}, + /* 4 */ {"really_long_key_4", "random", 7, + CENSUS_TAG_PROPAGATE | CENSUS_TAG_STATS}, + /* 5 */ {"k5", (char *)&four_byte_val, 4, + CENSUS_TAG_PROPAGATE | CENSUS_TAG_BINARY}, + /* 6 */ {"k6", (char *)&eight_byte_val, 8, + CENSUS_TAG_STATS | CENSUS_TAG_BINARY}, + /* 7 */ {"k7", (char *)&four_byte_val, 4, + CENSUS_TAG_PROPAGATE | CENSUS_TAG_STATS | CENSUS_TAG_BINARY}}; + +// Set of tags used to modify the basic tag_set. Note that +// replace_add_delete_test() relies on specific offsets into this array - if +// you add or delete entries, you will also need to change the test. Other +// tests that rely on specific instances have XXX_XXX_OFFSET definitions (also +// change the defines below if you add/delete entires). +#define MODIFY_TAG_COUNT 11 +static census_tag modify_tags[MODIFY_TAG_COUNT] = { +#define REPLACE_VALUE_OFFSET 0 + /* 0 */ {"key0", "replace printable", 18, 0}, // replaces tag value only +#define ADD_TAG_OFFSET 1 + /* 1 */ {"new_key", "xyzzy", 6, CENSUS_TAG_STATS}, // new tag +#define DELETE_TAG_OFFSET 2 + /* 2 */ {"k5", NULL, 5, + 0}, // should delete tag, despite bogus value length + /* 3 */ {"k6", "foo", 0, 0}, // should delete tag, despite bogus value + /* 4 */ {"k6", "foo", 0, 0}, // try deleting already-deleted tag + /* 5 */ {"non-existent", NULL, 0, 0}, // another non-existent tag +#define REPLACE_FLAG_OFFSET 6 + /* 6 */ {"k1", "a", 2, 0}, // change flags only + /* 7 */ {"k7", "bar", 4, CENSUS_TAG_STATS}, // change flags and value + /* 8 */ {"k2", (char *)&eight_byte_val, 8, + CENSUS_TAG_BINARY | CENSUS_TAG_PROPAGATE}, // more flags change + // non-binary -> binary + /* 9 */ {"k6", "bar", 4, 0}, // add back tag, with different value + /* 10 */ {"foo", "bar", 4, CENSUS_TAG_PROPAGATE}, // another new tag +}; + +// Utility function to compare tags. Returns true if all fields match. +static bool compare_tag(const census_tag *t1, const census_tag *t2) { + return (strcmp(t1->key, t2->key) == 0 && t1->value_len == t2->value_len && + memcmp(t1->value, t2->value, t1->value_len) == 0 && + t1->flags == t2->flags); +} + +// Utility function to validate a tag exists in tag set. +static bool validate_tag(const census_tag_set *cts, const census_tag *tag) { + census_tag tag2; + if (census_tag_set_get_tag_by_key(cts, tag->key, &tag2) != 1) return false; + return compare_tag(tag, &tag2); +} + +// Create an empty tag_set. +static void empty_test(void) { + struct census_tag_set *cts = census_tag_set_create(NULL, NULL, 0, NULL); + GPR_ASSERT(cts != NULL); + const census_tag_set_create_status *status = + census_tag_set_get_create_status(cts); + census_tag_set_create_status expected = {0, 0, 0, 0, 0, 0, 0, 0}; + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + census_tag_set_destroy(cts); +} + +// Test create and iteration over basic tag set. +static void basic_test(void) { + const census_tag_set_create_status *status; + struct census_tag_set *cts = + census_tag_set_create(NULL, basic_tags, BASIC_TAG_COUNT, &status); + census_tag_set_create_status expected = {2, 2, 4, 0, 8, 0, 0, 0}; + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + census_tag_set_iterator it; + census_tag_set_initialize_iterator(cts, &it); + census_tag tag; + while (census_tag_set_next_tag(&it, &tag)) { + // can't rely on tag return order: make sure it matches exactly one. + int matches = 0; + for (int i = 0; i < BASIC_TAG_COUNT; i++) { + if (compare_tag(&tag, &basic_tags[i])) matches++; + } + GPR_ASSERT(matches == 1); + } + census_tag_set_destroy(cts); +} + +// Test that census_tag_set_get_tag_by_key(). +static void lookup_by_key_test(void) { + struct census_tag_set *cts = + census_tag_set_create(NULL, basic_tags, BASIC_TAG_COUNT, NULL); + census_tag tag; + for (int i = 0; i < BASIC_TAG_COUNT; i++) { + GPR_ASSERT(census_tag_set_get_tag_by_key(cts, basic_tags[i].key, &tag) == + 1); + GPR_ASSERT(compare_tag(&tag, &basic_tags[i])); + } + // non-existent keys + GPR_ASSERT(census_tag_set_get_tag_by_key(cts, "key", &tag) == 0); + GPR_ASSERT(census_tag_set_get_tag_by_key(cts, "key01", &tag) == 0); + GPR_ASSERT(census_tag_set_get_tag_by_key(cts, "k9", &tag) == 0); + GPR_ASSERT(census_tag_set_get_tag_by_key(cts, "random", &tag) == 0); + GPR_ASSERT(census_tag_set_get_tag_by_key(cts, "", &tag) == 0); + census_tag_set_destroy(cts); +} + +// Try creating tag set with invalid entries. +static void invalid_test(void) { + char key[300]; + memset(key, 'k', 299); + key[299] = 0; + char value[300]; + memset(value, 'v', 300); + census_tag tag = {key, value, 3, CENSUS_TAG_BINARY}; + // long keys, short value. Key lengths (including terminator) should be + // <= 255 (CENSUS_MAX_TAG_KV_LEN) + GPR_ASSERT(strlen(key) == 299); + const census_tag_set_create_status *status; + struct census_tag_set *cts = census_tag_set_create(NULL, &tag, 1, &status); + census_tag_set_create_status expected = {0, 0, 0, 0, 0, 0, 1, 0}; + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + census_tag_set_destroy(cts); + key[CENSUS_MAX_TAG_KV_LEN] = 0; + GPR_ASSERT(strlen(key) == CENSUS_MAX_TAG_KV_LEN); + cts = census_tag_set_create(NULL, &tag, 1, &status); + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + census_tag_set_destroy(cts); + key[CENSUS_MAX_TAG_KV_LEN - 1] = 0; + GPR_ASSERT(strlen(key) == CENSUS_MAX_TAG_KV_LEN - 1); + cts = census_tag_set_create(NULL, &tag, 1, &status); + census_tag_set_create_status expected2 = {0, 0, 1, 0, 1, 0, 0, 0}; + GPR_ASSERT(memcmp(status, &expected2, sizeof(expected2)) == 0); + census_tag_set_destroy(cts); + // now try with long values + tag.value_len = 300; + cts = census_tag_set_create(NULL, &tag, 1, &status); + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + census_tag_set_destroy(cts); + tag.value_len = CENSUS_MAX_TAG_KV_LEN + 1; + cts = census_tag_set_create(NULL, &tag, 1, &status); + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + census_tag_set_destroy(cts); + tag.value_len = CENSUS_MAX_TAG_KV_LEN; + cts = census_tag_set_create(NULL, &tag, 1, &status); + GPR_ASSERT(memcmp(status, &expected2, sizeof(expected2)) == 0); + census_tag_set_destroy(cts); + // 0 length key. + key[0] = 0; + cts = census_tag_set_create(NULL, &tag, 1, &status); + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + census_tag_set_destroy(cts); +} + +// Make a copy of a tag set +static void copy_test(void) { + struct census_tag_set *cts = + census_tag_set_create(NULL, basic_tags, BASIC_TAG_COUNT, NULL); + const census_tag_set_create_status *status; + struct census_tag_set *cts2 = census_tag_set_create(cts, NULL, 0, &status); + census_tag_set_create_status expected = {2, 2, 4, 0, 0, 0, 0, 0}; + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + for (int i = 0; i < BASIC_TAG_COUNT; i++) { + census_tag tag; + GPR_ASSERT(census_tag_set_get_tag_by_key(cts2, basic_tags[i].key, &tag) == + 1); + GPR_ASSERT(compare_tag(&tag, &basic_tags[i])); + } + census_tag_set_destroy(cts); + census_tag_set_destroy(cts2); +} + +// replace a single tag value +static void replace_value_test(void) { + struct census_tag_set *cts = + census_tag_set_create(NULL, basic_tags, BASIC_TAG_COUNT, NULL); + const census_tag_set_create_status *status; + struct census_tag_set *cts2 = census_tag_set_create( + cts, modify_tags + REPLACE_VALUE_OFFSET, 1, &status); + census_tag_set_create_status expected = {2, 2, 4, 0, 0, 1, 0, 0}; + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + census_tag tag; + GPR_ASSERT(census_tag_set_get_tag_by_key( + cts2, modify_tags[REPLACE_VALUE_OFFSET].key, &tag) == 1); + GPR_ASSERT(compare_tag(&tag, &modify_tags[REPLACE_VALUE_OFFSET])); + census_tag_set_destroy(cts); + census_tag_set_destroy(cts2); +} + +// replace a single tags flags +static void replace_flags_test(void) { + struct census_tag_set *cts = + census_tag_set_create(NULL, basic_tags, BASIC_TAG_COUNT, NULL); + const census_tag_set_create_status *status; + struct census_tag_set *cts2 = + census_tag_set_create(cts, modify_tags + REPLACE_FLAG_OFFSET, 1, &status); + census_tag_set_create_status expected = {1, 2, 5, 0, 0, 1, 0, 0}; + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + census_tag tag; + GPR_ASSERT(census_tag_set_get_tag_by_key( + cts2, modify_tags[REPLACE_FLAG_OFFSET].key, &tag) == 1); + GPR_ASSERT(compare_tag(&tag, &modify_tags[REPLACE_FLAG_OFFSET])); + census_tag_set_destroy(cts); + census_tag_set_destroy(cts2); +} + +// delete a single tag. +static void delete_tag_test(void) { + struct census_tag_set *cts = + census_tag_set_create(NULL, basic_tags, BASIC_TAG_COUNT, NULL); + const census_tag_set_create_status *status; + struct census_tag_set *cts2 = + census_tag_set_create(cts, modify_tags + DELETE_TAG_OFFSET, 1, &status); + census_tag_set_create_status expected = {2, 1, 4, 1, 0, 0, 0, 0}; + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + census_tag tag; + GPR_ASSERT(census_tag_set_get_tag_by_key( + cts2, modify_tags[DELETE_TAG_OFFSET].key, &tag) == 0); + census_tag_set_destroy(cts); + census_tag_set_destroy(cts2); +} + +// add a single new tag. +static void add_tag_test(void) { + struct census_tag_set *cts = + census_tag_set_create(NULL, basic_tags, BASIC_TAG_COUNT, NULL); + const census_tag_set_create_status *status; + struct census_tag_set *cts2 = + census_tag_set_create(cts, modify_tags + ADD_TAG_OFFSET, 1, &status); + census_tag_set_create_status expected = {2, 2, 5, 0, 1, 0, 0, 0}; + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + census_tag tag; + GPR_ASSERT(census_tag_set_get_tag_by_key( + cts2, modify_tags[ADD_TAG_OFFSET].key, &tag) == 1); + GPR_ASSERT(compare_tag(&tag, &modify_tags[ADD_TAG_OFFSET])); + census_tag_set_destroy(cts); + census_tag_set_destroy(cts2); +} + +// test many changes at once. +static void replace_add_delete_test(void) { + struct census_tag_set *cts = + census_tag_set_create(NULL, basic_tags, BASIC_TAG_COUNT, NULL); + const census_tag_set_create_status *status; + struct census_tag_set *cts2 = + census_tag_set_create(cts, modify_tags, MODIFY_TAG_COUNT, &status); + census_tag_set_create_status expected = {2, 1, 6, 2, 3, 4, 0, 2}; + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + // validate tag set contents. Use specific indices into the two arrays + // holding tag values. + GPR_ASSERT(validate_tag(cts2, &basic_tags[3])); + GPR_ASSERT(validate_tag(cts2, &basic_tags[4])); + GPR_ASSERT(validate_tag(cts2, &modify_tags[0])); + GPR_ASSERT(validate_tag(cts2, &modify_tags[1])); + GPR_ASSERT(validate_tag(cts2, &modify_tags[6])); + GPR_ASSERT(validate_tag(cts2, &modify_tags[7])); + GPR_ASSERT(validate_tag(cts2, &modify_tags[8])); + GPR_ASSERT(validate_tag(cts2, &modify_tags[9])); + GPR_ASSERT(validate_tag(cts2, &modify_tags[10])); + GPR_ASSERT(!validate_tag(cts2, &basic_tags[0])); + GPR_ASSERT(!validate_tag(cts2, &basic_tags[1])); + GPR_ASSERT(!validate_tag(cts2, &basic_tags[2])); + GPR_ASSERT(!validate_tag(cts2, &basic_tags[5])); + GPR_ASSERT(!validate_tag(cts2, &basic_tags[6])); + GPR_ASSERT(!validate_tag(cts2, &basic_tags[7])); + census_tag_set_destroy(cts); + census_tag_set_destroy(cts2); +} + +#define BUF_SIZE 200 + +// test encode/decode. +static void encode_decode_test(void) { + char buffer[BUF_SIZE]; + struct census_tag_set *cts = + census_tag_set_create(NULL, basic_tags, BASIC_TAG_COUNT, NULL); + size_t print_bsize; + size_t bin_bsize; + // Test with too small a buffer + GPR_ASSERT(census_tag_set_encode(cts, buffer, 2, &print_bsize, &bin_bsize) == + NULL); + char *b_buffer = + census_tag_set_encode(cts, buffer, BUF_SIZE, &print_bsize, &bin_bsize); + GPR_ASSERT(b_buffer != NULL && print_bsize > 0 && bin_bsize > 0 && + print_bsize + bin_bsize <= BUF_SIZE && + b_buffer == buffer + print_bsize); + census_tag_set *cts2 = + census_tag_set_decode(buffer, print_bsize, b_buffer, bin_bsize); + GPR_ASSERT(cts2 != NULL); + const census_tag_set_create_status *status = + census_tag_set_get_create_status(cts2); + census_tag_set_create_status expected = {2, 2, 0, 0, 0, 0, 0, 0}; + GPR_ASSERT(memcmp(status, &expected, sizeof(expected)) == 0); + for (int i = 0; i < BASIC_TAG_COUNT; i++) { + census_tag tag; + if (CENSUS_TAG_IS_PROPAGATED(basic_tags[i].flags)) { + GPR_ASSERT(census_tag_set_get_tag_by_key(cts2, basic_tags[i].key, &tag) == + 1); + GPR_ASSERT(compare_tag(&tag, &basic_tags[i])); + } else { + GPR_ASSERT(census_tag_set_get_tag_by_key(cts2, basic_tags[i].key, &tag) == + 0); + } + } + census_tag_set_destroy(cts2); + census_tag_set_destroy(cts); +} + +int main(int argc, char *argv[]) { + grpc_test_init(argc, argv); + empty_test(); + basic_test(); + lookup_by_key_test(); + invalid_test(); + copy_test(); + replace_value_test(); + replace_flags_test(); + delete_tag_test(); + add_tag_test(); + replace_add_delete_test(); + encode_decode_test(); + return 0; +} diff --git a/test/core/end2end/gen_build_yaml.py b/test/core/end2end/gen_build_yaml.py index d52b5cc9942abe2f6d6a771c7667824b106c8553..f24dbe72cf55ee3a0bee9e68bfbcbd91280e9365 100755 --- a/test/core/end2end/gen_build_yaml.py +++ b/test/core/end2end/gen_build_yaml.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -77,40 +77,42 @@ END2END_FIXTURES = { } TestOptions = collections.namedtuple( - 'TestOptions', 'needs_fullstack needs_dns proxyable secure traceable') -default_test_options = TestOptions(False, False, True, False, True) + 'TestOptions', 'needs_fullstack needs_dns proxyable secure traceable cpu_cost') +default_test_options = TestOptions(False, False, True, False, True, 1.0) connectivity_test_options = default_test_options._replace(needs_fullstack=True) +LOWCPU = 0.1 + # maps test names to options END2END_TESTS = { 'bad_hostname': default_test_options, 'binary_metadata': default_test_options, 'call_creds': default_test_options._replace(secure=True), - 'cancel_after_accept': default_test_options, - 'cancel_after_client_done': default_test_options, - 'cancel_after_invoke': default_test_options, - 'cancel_before_invoke': default_test_options, - 'cancel_in_a_vacuum': default_test_options, - 'cancel_with_status': default_test_options, - 'channel_connectivity': connectivity_test_options._replace(proxyable=False), + 'cancel_after_accept': default_test_options._replace(cpu_cost=LOWCPU), + 'cancel_after_client_done': default_test_options._replace(cpu_cost=LOWCPU), + 'cancel_after_invoke': default_test_options._replace(cpu_cost=LOWCPU), + 'cancel_before_invoke': default_test_options._replace(cpu_cost=LOWCPU), + 'cancel_in_a_vacuum': default_test_options._replace(cpu_cost=LOWCPU), + 'cancel_with_status': default_test_options._replace(cpu_cost=LOWCPU), + 'channel_connectivity': connectivity_test_options._replace(proxyable=False, cpu_cost=LOWCPU), 'channel_ping': connectivity_test_options._replace(proxyable=False), - 'compressed_payload': default_test_options._replace(proxyable=False), + 'compressed_payload': default_test_options._replace(proxyable=False, cpu_cost=LOWCPU), 'default_host': default_test_options._replace(needs_fullstack=True, needs_dns=True), 'disappearing_server': connectivity_test_options, 'empty_batch': default_test_options, - 'graceful_server_shutdown': default_test_options, + 'graceful_server_shutdown': default_test_options._replace(cpu_cost=LOWCPU), 'hpack_size': default_test_options._replace(proxyable=False, traceable=False), 'high_initial_seqno': default_test_options, 'invoke_large_request': default_test_options, 'large_metadata': default_test_options, 'max_concurrent_streams': default_test_options._replace(proxyable=False), - 'max_message_length': default_test_options, + 'max_message_length': default_test_options._replace(cpu_cost=LOWCPU), 'metadata': default_test_options, 'negative_deadline': default_test_options, 'no_op': default_test_options, - 'payload': default_test_options, + 'payload': default_test_options._replace(cpu_cost=LOWCPU), 'ping_pong_streaming': default_test_options, 'registered_call': default_test_options, 'request_with_flags': default_test_options._replace(proxyable=False), @@ -118,7 +120,7 @@ END2END_TESTS = { 'server_finishes_request': default_test_options, 'shutdown_finishes_calls': default_test_options, 'shutdown_finishes_tags': default_test_options, - 'simple_delayed_request': connectivity_test_options, + 'simple_delayed_request': connectivity_test_options._replace(cpu_cost=LOWCPU), 'simple_request': default_test_options, 'trailing_metadata': default_test_options, } @@ -252,6 +254,7 @@ def main(): END2END_FIXTURES[f].platforms, 'mac')), 'flaky': False, 'language': 'c', + 'cpu_cost': END2END_TESTS[t].cpu_cost, } for f in sorted(END2END_FIXTURES.keys()) for t in sorted(END2END_TESTS.keys()) if compatible(f, t) @@ -266,6 +269,7 @@ def main(): END2END_FIXTURES[f].platforms, 'mac')), 'flaky': False, 'language': 'c', + 'cpu_cost': END2END_TESTS[t].cpu_cost, } for f in sorted(END2END_FIXTURES.keys()) if not END2END_FIXTURES[f].secure diff --git a/test/core/fling/client.c b/test/core/fling/client.c index 99b30d6c4a902c87a52d03b5202d6f70cad15fae..02db681cfd3b7fa9507b98da939bf8f402f44db6 100644 --- a/test/core/fling/client.c +++ b/test/core/fling/client.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -201,13 +201,16 @@ int main(int argc, char **argv) { sc.init(); - for (i = 0; i < 1000; i++) { + gpr_timespec end_warmup = GRPC_TIMEOUT_SECONDS_TO_DEADLINE(3); + gpr_timespec end_profiling = GRPC_TIMEOUT_SECONDS_TO_DEADLINE(30); + + while (gpr_time_cmp(gpr_now(end_warmup.clock_type), end_warmup) < 0) { sc.do_one_step(); } gpr_log(GPR_INFO, "start profiling"); grpc_profiler_start("client.prof"); - for (i = 0; i < 100000; i++) { + while (gpr_time_cmp(gpr_now(end_profiling.clock_type), end_profiling) < 0) { start = now(); sc.do_one_step(); stop = now(); diff --git a/test/core/support/avl_test.c b/test/core/support/avl_test.c index 6530fe4269ec5372cfcf85026a77a6b0419d3cf4..d8d8b36806bc55f7765755c18a6d6029f8ef4a99 100644 --- a/test/core/support/avl_test.c +++ b/test/core/support/avl_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -3611,32 +3611,33 @@ static void test_badcase3(void) { gpr_avl_unref(avl); } -static void test_stress(void) { +static void test_stress(int amount_of_stress) { int added[1024]; int i, j; int deletions = 0; gpr_avl avl; - gpr_log(GPR_DEBUG, "test_stress"); + unsigned seed = (unsigned)time(NULL); + + gpr_log(GPR_DEBUG, "test_stress amount=%d seed=%u", amount_of_stress, seed); srand((unsigned)time(NULL)); avl = gpr_avl_create(&int_int_vtable); memset(added, 0, sizeof(added)); - for (i = 1; deletions < 1000; i++) { + for (i = 1; deletions < amount_of_stress; i++) { int idx = rand() % (int)GPR_ARRAY_SIZE(added); GPR_ASSERT(i); if (rand() < RAND_MAX / 2) { added[idx] = i; - fprintf(stderr, "avl = gpr_avl_add(avl, box(%d), box(%d)); /* d=%d */\n", - idx, i, deletions); + printf("avl = gpr_avl_add(avl, box(%d), box(%d)); /* d=%d */\n", idx, i, + deletions); avl = gpr_avl_add(avl, box(idx), box(i)); } else { deletions += (added[idx] != 0); added[idx] = 0; - fprintf(stderr, "avl = remove_int(avl, %d); /* d=%d */\n", idx, - deletions); + printf("avl = remove_int(avl, %d); /* d=%d */\n", idx, deletions); avl = remove_int(avl, idx); } for (j = 0; j < (int)GPR_ARRAY_SIZE(added); j++) { @@ -3665,7 +3666,7 @@ int main(int argc, char *argv[]) { test_badcase1(); test_badcase2(); test_badcase3(); - test_stress(); + test_stress(10); return 0; } diff --git a/test/core/transport/chttp2/timeout_encoding_test.c b/test/core/transport/chttp2/timeout_encoding_test.c index ba6c3191f1edbd50f707afee949ed7dc27ce416c..f0e8ec386fcf6518b5bdf1b1dc88c31d65f90138 100644 --- a/test/core/transport/chttp2/timeout_encoding_test.c +++ b/test/core/transport/chttp2/timeout_encoding_test.c @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -126,8 +126,13 @@ void test_decoding(void) { decode_suite('S', gpr_time_from_seconds); decode_suite('M', gpr_time_from_minutes); decode_suite('H', gpr_time_from_hours); + assert_decodes_as("1000000000S", + gpr_time_from_seconds(1000 * 1000 * 1000, GPR_TIMESPAN)); assert_decodes_as("1000000000000000000000u", gpr_inf_future(GPR_CLOCK_REALTIME)); + assert_decodes_as("1000000001S", gpr_inf_future(GPR_CLOCK_REALTIME)); + assert_decodes_as("2000000001S", gpr_inf_future(GPR_CLOCK_REALTIME)); + assert_decodes_as("9999999999S", gpr_inf_future(GPR_CLOCK_REALTIME)); } void test_decoding_fails(void) { diff --git a/test/cpp/qps/qps_driver.cc b/test/cpp/qps/qps_driver.cc index eb0a7a5f4e6b82e97bd5a88cdeba4ba3c78dc676..9816a0959295fb35b1125bb6b69c8133e88551c7 100644 --- a/test/cpp/qps/qps_driver.cc +++ b/test/cpp/qps/qps_driver.cc @@ -165,6 +165,13 @@ static void QpsDriver() { server_config.mutable_security_params()->CopyFrom(security); } + // Make sure that if we are performing a generic (bytebuf) test + // that we are also using async streaming + GPR_ASSERT(!client_config.payload_config().has_bytebuf_params() || + (client_config.client_type() == ASYNC_CLIENT && + client_config.rpc_type() == STREAMING && + server_config.server_type() == ASYNC_SERVER)); + const auto result = RunScenario( client_config, FLAGS_num_clients, server_config, FLAGS_num_servers, FLAGS_warmup_seconds, FLAGS_benchmark_seconds, FLAGS_local_workers); diff --git a/test/cpp/qps/qps_worker.cc b/test/cpp/qps/qps_worker.cc index bed867e1a4a86357a7bf1ecd8dadd5bf420aae45..c0276d05b3356443b32557caa2b57ffe73dc6717 100644 --- a/test/cpp/qps/qps_worker.cc +++ b/test/cpp/qps/qps_worker.cc @@ -51,11 +51,11 @@ #include <grpc/support/host_port.h> #include <grpc/support/log.h> +#include "src/proto/grpc/testing/services.pb.h" #include "test/core/util/grpc_profiler.h" #include "test/cpp/qps/client.h" #include "test/cpp/qps/server.h" #include "test/cpp/util/create_test_channel.h" -#include "src/proto/grpc/testing/services.pb.h" namespace grpc { namespace testing { @@ -97,7 +97,8 @@ static std::unique_ptr<Server> CreateServer(const ServerConfig& config) { class WorkerServiceImpl GRPC_FINAL : public WorkerService::Service { public: - explicit WorkerServiceImpl() : acquired_(false) {} + explicit WorkerServiceImpl(int server_port) + : acquired_(false), server_port_(server_port) {} Status RunClient(ServerContext* ctx, ServerReaderWriter<ClientStatus, ClientArgs>* stream) @@ -196,6 +197,9 @@ class WorkerServiceImpl GRPC_FINAL : public WorkerService::Service { if (!args.has_setup()) { return Status(StatusCode::INVALID_ARGUMENT, ""); } + if (server_port_ != 0) { + args.mutable_setup()->set_port(server_port_); + } auto server = CreateServer(args.setup()); if (!server) { return Status(StatusCode::INVALID_ARGUMENT, ""); @@ -219,10 +223,11 @@ class WorkerServiceImpl GRPC_FINAL : public WorkerService::Service { std::mutex mu_; bool acquired_; + int server_port_; }; -QpsWorker::QpsWorker(int driver_port) { - impl_.reset(new WorkerServiceImpl()); +QpsWorker::QpsWorker(int driver_port, int server_port) { + impl_.reset(new WorkerServiceImpl(server_port)); char* server_address = NULL; gpr_join_host_port(&server_address, "::", driver_port); diff --git a/test/cpp/qps/qps_worker.h b/test/cpp/qps/qps_worker.h index 0db88ad3d13ea9dbe2a0b9672156cf0504a8e52b..27de69fa65a3896ac544f3998fdbe15eb667d408 100644 --- a/test/cpp/qps/qps_worker.h +++ b/test/cpp/qps/qps_worker.h @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -46,7 +46,7 @@ class WorkerServiceImpl; class QpsWorker { public: - explicit QpsWorker(int driver_port); + explicit QpsWorker(int driver_port, int server_port = 0); ~QpsWorker(); private: diff --git a/test/cpp/qps/worker.cc b/test/cpp/qps/worker.cc index 430ffb7cdc2a51ef07a6170d2d37c574017dc0a1..a1e73e9abe921a8ce197e866b6643c77342fa510 100644 --- a/test/cpp/qps/worker.cc +++ b/test/cpp/qps/worker.cc @@ -1,6 +1,6 @@ /* * - * Copyright 2015, Google Inc. + * Copyright 2015-2016, Google Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,6 +44,7 @@ #include "test/cpp/util/test_config.h" DEFINE_int32(driver_port, 0, "Port for communication with driver"); +DEFINE_int32(server_port, 0, "Port for operation as a server"); static bool got_sigint = false; @@ -53,7 +54,7 @@ namespace grpc { namespace testing { static void RunServer() { - QpsWorker worker(FLAGS_driver_port); + QpsWorker worker(FLAGS_driver_port, FLAGS_server_port); while (!got_sigint) { gpr_sleep_until(gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), diff --git a/third_party/protobuf b/third_party/protobuf index 8fce8933649ce09c1661ff2b5b7f6eb79badd251..d5fb408ddc281ffcadeb08699e65bb694656d0bd 160000 --- a/third_party/protobuf +++ b/third_party/protobuf @@ -1 +1 @@ -Subproject commit 8fce8933649ce09c1661ff2b5b7f6eb79badd251 +Subproject commit d5fb408ddc281ffcadeb08699e65bb694656d0bd diff --git a/tools/buildgen/build-cleaner.py b/tools/buildgen/build-cleaner.py index 4e592ee3efd2f947764a7172ec2b3977139d3824..37fedec6ad103a4c1e6dc7d81133f11d0b810df2 100755 --- a/tools/buildgen/build-cleaner.py +++ b/tools/buildgen/build-cleaner.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2.7 -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -41,6 +41,7 @@ _TOP_LEVEL_KEYS = ['settings', 'proto_deps', 'filegroups', 'libs', 'targets', 'v _VERSION_KEYS = ['major', 'minor', 'micro', 'build'] _ELEM_KEYS = [ 'name', + 'cpu_cost', 'flaky', 'build', 'run', diff --git a/tools/buildgen/bunch.py b/tools/buildgen/bunch.py index 1f17ccb31b8744b2c7c9ca08c62368a8bfbedb66..3f5af53778f1445407baaac53a1b01443a1369ba 100755 --- a/tools/buildgen/bunch.py +++ b/tools/buildgen/bunch.py @@ -1,4 +1,4 @@ -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -64,4 +64,5 @@ def merge_json(dst, add): elif isinstance(dst, list) and isinstance(add, list): dst.extend(add) else: - raise Exception('Tried to merge incompatible objects %r, %r' % (dst, add)) + raise Exception('Tried to merge incompatible objects %s %s\n\n%r\n\n%r' % (type(dst).__name__, type(add).__name__, dst, add)) + diff --git a/tools/buildgen/generate_build_additions.sh b/tools/buildgen/generate_build_additions.sh index a2cd8249ef8454ea890d04fad6916df5abf1ff59..4e7ba9ebb94673a1bff0ba0aa464c63d800df8d8 100644 --- a/tools/buildgen/generate_build_additions.sh +++ b/tools/buildgen/generate_build_additions.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -28,7 +28,13 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -gen_build_yaml_dirs="src/boringssl test/core/end2end test/core/bad_client test/core/bad_ssl src/proto" +gen_build_yaml_dirs=" \ + src/boringssl \ + src/proto \ + src/zlib \ + test/core/bad_client \ + test/core/bad_ssl \ + test/core/end2end" gen_build_files="" for gen_build_yaml in $gen_build_yaml_dirs do @@ -36,3 +42,4 @@ do $gen_build_yaml/gen_build_yaml.py > $output_file gen_build_files="$gen_build_files $output_file" done + diff --git a/tools/buildgen/generate_projects.py b/tools/buildgen/generate_projects.py index 34437b9c8dd3a99cdccbf9ca2c1efba0f322e856..083a97874d5fea01d60f2ed9c6a1f221b59c82e1 100755 --- a/tools/buildgen/generate_projects.py +++ b/tools/buildgen/generate_projects.py @@ -1,6 +1,6 @@ #!/usr/bin/env python2.7 -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -85,7 +85,7 @@ for template in templates: os.close(tf[0]) cmd.append(test[out]) cmd.append(root + '/' + f) - jobs.append(jobset.JobSpec(cmd, shortname=out)) + jobs.append(jobset.JobSpec(cmd, shortname=out, timeout_seconds=None)) jobset.run(jobs, maxjobs=multiprocessing.cpu_count()) diff --git a/tools/buildgen/plugins/expand_bin_attrs.py b/tools/buildgen/plugins/expand_bin_attrs.py index 64bf4e377fcccf9f8c03c9c5a8b9f9d8531b71f5..735c60ea9959a573c6192595567f5d237f2f8b3f 100755 --- a/tools/buildgen/plugins/expand_bin_attrs.py +++ b/tools/buildgen/plugins/expand_bin_attrs.py @@ -1,4 +1,4 @@ -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -51,7 +51,9 @@ def mako_plugin(dictionary): tgt['platforms'] = sorted(tgt.get('platforms', default_platforms)) tgt['ci_platforms'] = sorted(tgt.get('ci_platforms', tgt['platforms'])) tgt['boringssl'] = tgt.get('boringssl', False) + tgt['zlib'] = tgt.get('zlib', False) libs = dictionary.get('libs') for lib in libs: lib['boringssl'] = lib.get('boringssl', False) + lib['zlib'] = lib.get('zlib', False) diff --git a/tools/distrib/check_copyright.py b/tools/distrib/check_copyright.py index 0c0669083a0af1075874a262892e83819027a5a4..935acf525ea392bc8a8e7fad277db352a298be6f 100755 --- a/tools/distrib/check_copyright.py +++ b/tools/distrib/check_copyright.py @@ -136,7 +136,10 @@ for filename in subprocess.check_output('git ls-tree -r --name-only -r HEAD', else: log(args.skips, 'skip', filename) continue - text = load(filename) + try: + text = load(filename) + except: + continue m = re.search(re_license, text) if m: gdict = m.groupdict() diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 2280fde425fb45f3adc226eca88622b4ea31050a..f6b6e59dfd93f36946567c93805602364552b563 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -1047,6 +1047,7 @@ src/core/transport/transport_op_string.c \ src/core/census/context.c \ src/core/census/initialize.c \ src/core/census/operation.c \ +src/core/census/tag_set.c \ src/core/census/tracing.c \ include/grpc/support/alloc.h \ include/grpc/support/atm.h \ diff --git a/tools/jenkins/build_and_run_docker.sh b/tools/jenkins/build_and_run_docker.sh new file mode 100755 index 0000000000000000000000000000000000000000..c48f58e0d0b66759eb6dbdf3dc5524493b3094ae --- /dev/null +++ b/tools/jenkins/build_and_run_docker.sh @@ -0,0 +1,79 @@ +#!/bin/bash +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Builds docker image and runs a command under it. +# You should never need to call this script on your own. + +set -ex + +cd $(dirname $0)/../.. +git_root=$(pwd) +cd - + +# Create a local branch so the child Docker script won't complain +git branch -f jenkins-docker + +# Inputs +# DOCKERFILE_DIR - Directory in which Dockerfile file is located. +# DOCKER_RUN_SCRIPT - Script to run under docker (relative to grpc repo root) +# $@ - Extra args to pass to docker run + +# Use image name based on Dockerfile location checksum +DOCKER_IMAGE_NAME=$(basename $DOCKERFILE_DIR)_$(sha1sum $DOCKERFILE_DIR/Dockerfile | cut -f1 -d\ ) + +# Make sure docker image has been built. Should be instantaneous if so. +docker build -t $DOCKER_IMAGE_NAME $DOCKERFILE_DIR + +# Choose random name for docker container +CONTAINER_NAME="build_and_run_docker_$(uuidgen)" + +# Run command inside docker +docker run \ + "$@" \ + -e THIS_IS_REALLY_NEEDED='see https://github.com/docker/docker/issues/14203 for why docker is awful' \ + -v "$git_root:/var/local/jenkins/grpc:ro" \ + -w /var/local/git/grpc \ + --name=$CONTAINER_NAME \ + $DOCKER_IMAGE_NAME \ + bash -l "/var/local/jenkins/grpc/$DOCKER_RUN_SCRIPT" || FAILED="true" + +# Copy output artifacts +if [ "$OUTPUT_DIR" != "" ] +then + docker cp "$CONTAINER_NAME:/var/local/git/grpc/$OUTPUT_DIR" "$git_root" || FAILED="true" +fi + +# remove the container, possibly killing it first +docker rm -f $CONTAINER_NAME || true + +if [ "$FAILED" != "" ] +then + exit 1 +fi diff --git a/tools/jenkins/build_artifacts.sh b/tools/jenkins/build_artifacts.sh new file mode 100755 index 0000000000000000000000000000000000000000..d5912010e31d8d4ed3b0d56463a81e48662c79e6 --- /dev/null +++ b/tools/jenkins/build_artifacts.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# This script is invoked by Jenkins and triggers build of artifacts. +# +# To prevent cygwin bash complaining about empty lines ending with \r +# we set the igncr option. The option doesn't exist on Linux, so we fallback +# to just 'set -ex' there. +# NOTE: No empty lines should appear in this file before igncr is set! +set -ex -o igncr || set -ex + +python tools/run_tests/build_artifacts.py $@ diff --git a/tools/jenkins/build_docker_and_run_tests.sh b/tools/jenkins/build_docker_and_run_tests.sh index 175b3d56517f27667a678bbec60185212be8270e..562cfcb6a6eecf44ea2c97c35d80a6704be22785 100755 --- a/tools/jenkins/build_docker_and_run_tests.sh +++ b/tools/jenkins/build_docker_and_run_tests.sh @@ -65,6 +65,7 @@ docker run \ -e XDG_CACHE_HOME=/tmp/xdg-cache-home \ -e THIS_IS_REALLY_NEEDED='see https://github.com/docker/docker/issues/14203 for why docker is awful' \ -e HOST_GIT_ROOT=$git_root \ + -e "BUILD_ID=$BUILD_ID" \ -i $TTY_FLAG \ -v "$git_root:/var/local/jenkins/grpc" \ -v /tmp/ccache:/tmp/ccache \ diff --git a/tools/jenkins/build_interop_image.sh b/tools/jenkins/build_interop_image.sh index d0c5470ed6bf5489cbff15a27c175d9b8ae7af4e..73937068a4f265789431aca7ec0c51d7065b0d70 100755 --- a/tools/jenkins/build_interop_image.sh +++ b/tools/jenkins/build_interop_image.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -85,6 +85,7 @@ CONTAINER_NAME="build_${BASE_NAME}_$(uuidgen)" (docker run \ -e CCACHE_DIR=/tmp/ccache \ -e THIS_IS_REALLY_NEEDED='see https://github.com/docker/docker/issues/14203 for why docker is awful' \ + -e THIS_IS_REALLY_NEEDED_ONCE_AGAIN='For issue 4835. See https://github.com/docker/docker/issues/14203 for why docker is awful' \ -i $TTY_FLAG \ $MOUNT_ARGS \ $BUILD_INTEROP_DOCKER_EXTRA_ARGS \ diff --git a/tools/jenkins/docker_run.sh b/tools/jenkins/docker_run.sh new file mode 100755 index 0000000000000000000000000000000000000000..1905926cdcb102a0e1b9a5e7be733b954e2b905d --- /dev/null +++ b/tools/jenkins/docker_run.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# This script is invoked by build_docker_* inside a docker +# container. You should never need to call this script on your own. + +set -e + +mkdir -p /var/local/git +git clone --recursive /var/local/jenkins/grpc /var/local/git/grpc + +cd /var/local/git/grpc + +$RUN_COMMAND diff --git a/tools/jenkins/grpc_artifact_linux_x64/Dockerfile b/tools/jenkins/grpc_artifact_linux_x64/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..de40247a73d647524619e1be0c23c2a77bcbe8f0 --- /dev/null +++ b/tools/jenkins/grpc_artifact_linux_x64/Dockerfile @@ -0,0 +1,64 @@ +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Docker file for building gRPC artifacts. + +FROM debian:jessie + +# Install Git and basic packages. +RUN apt-get update && apt-get install -y \ + autoconf \ + autotools-dev \ + build-essential \ + bzip2 \ + curl \ + gcc \ + gcc-multilib \ + git \ + golang \ + libc6 \ + libc6-dbg \ + libc6-dev \ + libgtest-dev \ + libtool \ + make \ + perl \ + strace \ + python-dev \ + python-setuptools \ + python-yaml \ + telnet \ + unzip \ + wget \ + zip && apt-get clean + +RUN mkdir /var/local/jenkins + +# Define the default command. +CMD ["bash"] diff --git a/tools/jenkins/grpc_artifact_linux_x86/Dockerfile b/tools/jenkins/grpc_artifact_linux_x86/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..774b4523a1fcf5caef2cdc6f7807e7621c716e84 --- /dev/null +++ b/tools/jenkins/grpc_artifact_linux_x86/Dockerfile @@ -0,0 +1,64 @@ +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Docker file for building gRPC artifacts. + +FROM 32bit/debian:jessie + +# Install Git and basic packages. +RUN apt-get update && apt-get install -y \ + autoconf \ + autotools-dev \ + build-essential \ + bzip2 \ + curl \ + gcc \ + gcc-multilib \ + git \ + golang \ + libc6 \ + libc6-dbg \ + libc6-dev \ + libgtest-dev \ + libtool \ + make \ + perl \ + strace \ + python-dev \ + python-setuptools \ + python-yaml \ + telnet \ + unzip \ + wget \ + zip && apt-get clean + +RUN mkdir /var/local/jenkins + +# Define the default command. +CMD ["bash"] diff --git a/tools/jenkins/grpc_jenkins_slave/Dockerfile b/tools/jenkins/grpc_jenkins_slave/Dockerfile index b1ac024dfb3faa1ba57050a24e02ae3fc9cd1e27..48541b00adf206da6719d3c09055ac7eb938a0d7 100644 --- a/tools/jenkins/grpc_jenkins_slave/Dockerfile +++ b/tools/jenkins/grpc_jenkins_slave/Dockerfile @@ -38,6 +38,7 @@ RUN apt-get update && apt-get install -y \ autotools-dev \ build-essential \ bzip2 \ + ccache \ curl \ gcc \ gcc-multilib \ @@ -61,6 +62,14 @@ RUN apt-get update && apt-get install -y \ wget \ zip && apt-get clean +# Prepare ccache +RUN ln -s /usr/bin/ccache /usr/local/bin/gcc +RUN ln -s /usr/bin/ccache /usr/local/bin/g++ +RUN ln -s /usr/bin/ccache /usr/local/bin/cc +RUN ln -s /usr/bin/ccache /usr/local/bin/c++ +RUN ln -s /usr/bin/ccache /usr/local/bin/clang +RUN ln -s /usr/bin/ccache /usr/local/bin/clang++ + ################## # C++ dependencies RUN apt-get update && apt-get -y install libgflags-dev libgtest-dev libc++-dev clang diff --git a/tools/jenkins/grpc_jenkins_slave_32bits/Dockerfile b/tools/jenkins/grpc_jenkins_slave_32bits/Dockerfile index 348a333d3e600b644f6289edcd6912308241e1f1..2323f2338757205ec577823ec203758a9088a17d 100644 --- a/tools/jenkins/grpc_jenkins_slave_32bits/Dockerfile +++ b/tools/jenkins/grpc_jenkins_slave_32bits/Dockerfile @@ -38,6 +38,7 @@ RUN apt-get update && apt-get install -y \ autotools-dev \ build-essential \ bzip2 \ + ccache \ curl \ gcc \ gcc-multilib \ @@ -61,6 +62,14 @@ RUN apt-get update && apt-get install -y \ wget \ zip && apt-get clean +# Prepare ccache +RUN ln -s /usr/bin/ccache /usr/local/bin/gcc +RUN ln -s /usr/bin/ccache /usr/local/bin/g++ +RUN ln -s /usr/bin/ccache /usr/local/bin/cc +RUN ln -s /usr/bin/ccache /usr/local/bin/c++ +RUN ln -s /usr/bin/ccache /usr/local/bin/clang +RUN ln -s /usr/bin/ccache /usr/local/bin/clang++ + ################## # C++ dependencies RUN apt-get update && apt-get -y install libgflags-dev libgtest-dev libc++-dev clang diff --git a/tools/jenkins/run_jenkins.sh b/tools/jenkins/run_jenkins.sh index 84b4ea51ed4d344a4ebac4dcf7dd7954e13367a9..49b2fa55c2db22230726aeb644a0d72c5d618451 100755 --- a/tools/jenkins/run_jenkins.sh +++ b/tools/jenkins/run_jenkins.sh @@ -54,7 +54,7 @@ if [ "$platform" == "linux" ] then echo "building $language on Linux" - ./tools/run_tests/run_tests.py --use_docker -t -l $language -c $config -x report.xml $@ || TESTS_FAILED="true" + ./tools/run_tests/run_tests.py --use_docker -t -l $language -c $config -x report.xml -j 3 $@ || TESTS_FAILED="true" elif [ "$platform" == "windows" ] then @@ -63,19 +63,22 @@ then # Prevent msbuild from picking up "platform" env variable, which would break the build unset platform - python tools/run_tests/run_tests.py -t -l $language -c $config -x report.xml $@ || TESTS_FAILED="true" + python tools/run_tests/run_tests.py -t -l $language -c $config -x report.xml -j 3 $@ || TESTS_FAILED="true" elif [ "$platform" == "macos" ] then echo "building $language on MacOS" - ./tools/run_tests/run_tests.py -t -l $language -c $config -x report.xml $@ || TESTS_FAILED="true" + # Prevent msbuild from picking up "platform" env variable, which would break the build + unset platform + + ./tools/run_tests/run_tests.py -t -l $language -c $config -x report.xml -j 3 $@ || TESTS_FAILED="true" elif [ "$platform" == "freebsd" ] then echo "building $language on FreeBSD" - MAKE=gmake ./tools/run_tests/run_tests.py -t -l $language -c $config -x report.xml $@ || TESTS_FAILED="true" + MAKE=gmake ./tools/run_tests/run_tests.py -t -l $language -c $config -x report.xml -j 3 $@ || TESTS_FAILED="true" else echo "Unknown platform $platform" diff --git a/tools/run_tests/build_artifact_csharp.bat b/tools/run_tests/build_artifact_csharp.bat new file mode 100644 index 0000000000000000000000000000000000000000..33dc8c25aeabd05facbdadc87b91a243f8b5d8c2 --- /dev/null +++ b/tools/run_tests/build_artifact_csharp.bat @@ -0,0 +1,12 @@ +@rem Builds C# artifacts on Windows + +@call vsprojects\build_vs2013.bat %* || goto :error + +mkdir artifacts +copy /Y vsprojects\Release\grpc_csharp_ext.dll artifacts || copy /Y vsprojects\x64\Release\grpc_csharp_ext.dll artifacts || goto :error + +goto :EOF + +:error +echo Failed! +exit /b %errorlevel% diff --git a/tools/run_tests/build_artifact_csharp.sh b/tools/run_tests/build_artifact_csharp.sh new file mode 100755 index 0000000000000000000000000000000000000000..7438713f5c6f146530b10cb8ebd0a63cf90a75ab --- /dev/null +++ b/tools/run_tests/build_artifact_csharp.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +set -ex + +cd $(dirname $0)/../.. + +make grpc_csharp_ext + +mkdir -p artifacts +cp libs/opt/libgrpc_csharp_ext.so artifacts || cp libs/opt/libgrpc_csharp_ext.dylib artifacts diff --git a/tools/run_tests/build_artifacts.py b/tools/run_tests/build_artifacts.py new file mode 100755 index 0000000000000000000000000000000000000000..0fd5bc63f37db533bf41af2658859de3377a41ce --- /dev/null +++ b/tools/run_tests/build_artifacts.py @@ -0,0 +1,237 @@ +#!/usr/bin/env python +# Copyright 2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""Builds gRPC distribution artifacts.""" + +import argparse +import atexit +import dockerjob +import itertools +import jobset +import json +import multiprocessing +import os +import re +import subprocess +import sys +import time +import uuid + +# Docker doesn't clean up after itself, so we do it on exit. +if jobset.platform_string() == 'linux': + atexit.register(lambda: subprocess.call(['stty', 'echo'])) + +ROOT = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '../..')) +os.chdir(ROOT) + + +def create_docker_jobspec(name, dockerfile_dir, shell_command, environ={}, + flake_retries=0, timeout_retries=0): + """Creates jobspec for a task running under docker.""" + environ = environ.copy() + environ['RUN_COMMAND'] = shell_command + + #docker_args = ['-v', '%s/artifacts:/var/local/jenkins/grpc/artifacts' % ROOT] + docker_args=[] + for k,v in environ.iteritems(): + docker_args += ['-e', '%s=%s' % (k, v)] + docker_env = {'DOCKERFILE_DIR': dockerfile_dir, + 'DOCKER_RUN_SCRIPT': 'tools/jenkins/docker_run.sh', + 'OUTPUT_DIR': 'artifacts'} + jobspec = jobset.JobSpec( + cmdline=['tools/jenkins/build_and_run_docker.sh'] + docker_args, + environ=docker_env, + shortname='build_artifact.%s' % (name), + timeout_seconds=30*60, + flake_retries=flake_retries, + timeout_retries=timeout_retries) + return jobspec + + +def create_jobspec(name, cmdline, environ=None, shell=False, + flake_retries=0, timeout_retries=0): + """Creates jobspec.""" + jobspec = jobset.JobSpec( + cmdline=cmdline, + environ=environ, + shortname='build_artifact.%s' % (name), + timeout_seconds=5*60, + flake_retries=flake_retries, + timeout_retries=timeout_retries, + shell=shell) + return jobspec + + +def macos_arch_env(arch): + """Returns environ specifying -arch arguments for make.""" + if arch == 'x86': + arch_arg = '-arch i386' + elif arch == 'x64': + arch_arg = '-arch x86_64' + else: + raise Exception('Unsupported arch') + return {'CFLAGS': arch_arg, 'LDFLAGS': arch_arg} + + +class CSharpExtArtifact: + """Builds C# native extension library""" + + def __init__(self, platform, arch): + self.name = 'csharp_ext_%s_%s' % (platform, arch) + self.platform = platform + self.arch = arch + self.labels = ['csharp', platform, arch] + + def pre_build_jobspecs(self): + if self.platform == 'windows': + return [create_jobspec('prebuild_%s' % self.name, + ['tools\\run_tests\\pre_build_c.bat'], + shell=True, + flake_retries=5, + timeout_retries=2)] + else: + return [] + + def build_jobspec(self): + if self.platform == 'windows': + msbuild_platform = 'Win32' if self.arch == 'x86' else self.arch + return create_jobspec(self.name, + ['tools\\run_tests\\build_artifact_csharp.bat', + 'vsprojects\\grpc_csharp_ext.sln', + '/p:Configuration=Release', + '/p:PlatformToolset=v120', + '/p:Platform=%s' % msbuild_platform], + shell=True) + if self.platform == 'linux': + environ = {'CONFIG': 'opt'} + return create_docker_jobspec(self.name, + 'tools/jenkins/grpc_artifact_linux_%s' % self.arch, + 'tools/run_tests/build_artifact_csharp.sh') + else: + environ = {'CONFIG': 'opt'} + if self.platform == 'macos': + environ.update(macos_arch_env(self.arch)) + return create_jobspec(self.name, + ['tools/run_tests/build_artifact_csharp.sh'], + environ=environ) + + def __str__(self): + return self.name + + +_ARTIFACTS = [ + CSharpExtArtifact('linux', 'x86'), + CSharpExtArtifact('linux', 'x64'), + CSharpExtArtifact('macos', 'x86'), + CSharpExtArtifact('macos', 'x64'), + CSharpExtArtifact('windows', 'x86'), + CSharpExtArtifact('windows', 'x64') +] + + +def _create_build_map(): + """Maps artifact names and labels to list of artifacts to be built.""" + artifact_build_map = dict([(artifact.name, [artifact]) + for artifact in _ARTIFACTS]) + if len(_ARTIFACTS) > len(artifact_build_map.keys()): + raise Exception('Artifact names need to be unique') + + label_build_map = {} + label_build_map['all'] = [a for a in _ARTIFACTS] # to build all artifacts + for artifact in _ARTIFACTS: + for label in artifact.labels: + if label in label_build_map: + label_build_map[label].append(artifact) + else: + label_build_map[label] = [artifact] + + if set(artifact_build_map.keys()).intersection(label_build_map.keys()): + raise Exception('Artifact names need to be distinct from label names') + return dict( artifact_build_map.items() + label_build_map.items()) + + +_BUILD_MAP = _create_build_map() + +argp = argparse.ArgumentParser(description='Builds distribution artifacts.') +argp.add_argument('-b', '--build', + choices=sorted(_BUILD_MAP.keys()), + nargs='+', + default=['all'], + help='Artifact name or artifact label to build.') +argp.add_argument('-f', '--filter', + choices=sorted(_BUILD_MAP.keys()), + nargs='+', + default=[], + help='Filter artifacts to build with AND semantics.') +argp.add_argument('-j', '--jobs', default=multiprocessing.cpu_count(), type=int) +argp.add_argument('-t', '--travis', + default=False, + action='store_const', + const=True) + +args = argp.parse_args() + +# Figure out which artifacts to build +artifacts = [] +for label in args.build: + artifacts += _BUILD_MAP[label] + +# Among target selected by -b, filter out those that don't match the filter +artifacts = [a for a in artifacts if all(f in a.labels for f in args.filter)] +artifacts = sorted(set(artifacts)) + +# Execute pre-build phase +prebuild_jobs = [] +for artifact in artifacts: + prebuild_jobs += artifact.pre_build_jobspecs() +if prebuild_jobs: + num_failures, _ = jobset.run( + prebuild_jobs, newline_on_success=True, maxjobs=args.jobs) + if num_failures != 0: + jobset.message('FAILED', 'Pre-build phase failed.', do_newline=True) + sys.exit(1) + +build_jobs = [] +for artifact in artifacts: + build_jobs.append(artifact.build_jobspec()) +if not build_jobs: + print 'Nothing to build.' + sys.exit(1) + +jobset.message('START', 'Building artifacts.', do_newline=True) +num_failures, _ = jobset.run( + build_jobs, newline_on_success=True, maxjobs=args.jobs) +if num_failures == 0: + jobset.message('SUCCESS', 'All artifacts built successfully.', + do_newline=True) +else: + jobset.message('FAILED', 'Failed to build artifacts.', + do_newline=True) + sys.exit(1) diff --git a/tools/run_tests/check_cache_mk.sh b/tools/run_tests/check_cache_mk.sh new file mode 100755 index 0000000000000000000000000000000000000000..b738d6a965f52b6a5754afd8b251b8402f376440 --- /dev/null +++ b/tools/run_tests/check_cache_mk.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +# Copyright 2015-2016, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +set -e + +if [ -f cache.mk ] ; then + echo "Please don't commit cache.mk" + exit 1 +fi + diff --git a/tools/run_tests/run_sanity.sh b/tools/run_tests/check_submodules.sh similarity index 87% rename from tools/run_tests/run_sanity.sh rename to tools/run_tests/check_submodules.sh index 467f06edd750591eba0295804eb74c0e26e4cda0..b4ca4fa3ce579281073f2ca6e27f1c229b3090a9 100755 --- a/tools/run_tests/run_sanity.sh +++ b/tools/run_tests/check_submodules.sh @@ -44,7 +44,7 @@ cat << EOF | awk '{ print $1 }' | sort > $want_submodules 9f897b25800d2f54f5c442ef01a60721aeca6d87 third_party/boringssl (version_for_cocoapods_1.0-67-g9f897b2) 05b155ff59114735ec8cd089f669c4c3d8f59029 third_party/gflags (v2.1.0-45-g05b155f) c99458533a9b4c743ed51537e25989ea55944908 third_party/googletest (release-1.7.0) - 8fce8933649ce09c1661ff2b5b7f6eb79badd251 third_party/protobuf (v3.0.0-alpha-4-1-g8fce893) + d5fb408ddc281ffcadeb08699e65bb694656d0bd third_party/protobuf (v3.0.0-beta-2) 50893291621658f355bc5b4d450a8d06a563053d third_party/zlib (v1.2.8) EOF @@ -52,12 +52,3 @@ diff -u $submodules $want_submodules rm $submodules $want_submodules -if [ -f cache.mk ] ; then - echo "Please don't commit cache.mk" - exit 1 -fi - -./tools/buildgen/generate_projects.sh -./tools/distrib/check_copyright.py -./tools/distrib/clang_format_code.sh -./tools/distrib/check_trailing_newlines.sh diff --git a/tools/run_tests/configs.json b/tools/run_tests/configs.json new file mode 100644 index 0000000000000000000000000000000000000000..769942df996165e9661bb95de955d2105140a8c4 --- /dev/null +++ b/tools/run_tests/configs.json @@ -0,0 +1,67 @@ +[ + { + "config": "opt" + }, + { + "config": "basicprof" + }, + { + "config": "helgrind", + "timeout_multiplier": 20, + "tool_prefix": [ + "valgrind", + "--tool=helgrind" + ] + }, + { + "config": "asan-noleaks", + "environ": { + "ASAN_OPTIONS": "detect_leaks=0:color=always" + }, + "timeout_multiplier": 1.5 + }, + { + "config": "ubsan", + "timeout_multiplier": 1.5 + }, + { + "config": "dbg" + }, + { + "config": "stapprof" + }, + { + "config": "gcov" + }, + { + "config": "memcheck", + "timeout_multiplier": 10, + "tool_prefix": [ + "valgrind", + "--tool=memcheck", + "--leak-check=full" + ] + }, + { + "config": "asan", + "environ": { + "ASAN_OPTIONS": "suppressions=tools/asan_suppressions.txt:detect_leaks=1:color=always", + "LSAN_OPTIONS": "suppressions=tools/asan_suppressions.txt:report_objects=1" + }, + "timeout_multiplier": 1.5 + }, + { + "config": "tsan", + "environ": { + "TSAN_OPTIONS": "suppressions=tools/tsan_suppressions.txt:halt_on_error=1:second_deadlock_stack=1" + }, + "timeout_multiplier": 2 + }, + { + "config": "msan", + "timeout_multiplier": 1.5 + }, + { + "config": "mutrace" + } +] diff --git a/tools/run_tests/jobset.py b/tools/run_tests/jobset.py index e33433daf2a9f7b85c3f61e00461d83cf2ed14a5..beeb99c0ae9fdbfb9c2807c10fb47ccc60013704 100755 --- a/tools/run_tests/jobset.py +++ b/tools/run_tests/jobset.py @@ -33,6 +33,7 @@ import hashlib import multiprocessing import os import platform +import re import signal import subprocess import sys @@ -40,6 +41,10 @@ import tempfile import time +# cpu cost measurement +measure_cpu_costs = False + + _DEFAULT_MAX_JOBS = 16 * multiprocessing.cpu_count() _MAX_RESULT_SIZE = 8192 @@ -146,7 +151,7 @@ class JobSpec(object): def __init__(self, cmdline, shortname=None, environ=None, hash_targets=None, cwd=None, shell=False, timeout_seconds=5*60, flake_retries=0, - timeout_retries=0, kill_handler=None): + timeout_retries=0, kill_handler=None, cpu_cost=1.0): """ Arguments: cmdline: a list of arguments to pass as the command line @@ -154,6 +159,7 @@ class JobSpec(object): hash_targets: which files to include in the hash representing the jobs version (or empty, indicating the job should not be hashed) kill_handler: a handler that will be called whenever job.kill() is invoked + cpu_cost: number of cores per second this job needs """ if environ is None: environ = {} @@ -169,6 +175,7 @@ class JobSpec(object): self.flake_retries = flake_retries self.timeout_retries = timeout_retries self.kill_handler = kill_handler + self.cpu_cost = cpu_cost def identity(self): return '%r %r %r' % (self.cmdline, self.environ, self.hash_targets) @@ -218,7 +225,10 @@ class Job(object): env.update(self._spec.environ) env.update(self._add_env) self._start = time.time() - try_start = lambda: subprocess.Popen(args=self._spec.cmdline, + cmdline = self._spec.cmdline + if measure_cpu_costs: + cmdline = ['time', '--portability'] + cmdline + try_start = lambda: subprocess.Popen(args=cmdline, stderr=subprocess.STDOUT, stdout=self._tempfile, cwd=self._spec.cwd, @@ -267,13 +277,24 @@ class Job(object): self.result.returncode = self._process.returncode else: self._state = _SUCCESS - message('PASSED', '%s [time=%.1fsec; retries=%d;%d]' % ( - self._spec.shortname, elapsed, self._retries, self._timeout_retries), + measurement = '' + if measure_cpu_costs: + m = re.search(r'real ([0-9.]+)\nuser ([0-9.]+)\nsys ([0-9.]+)', stdout()) + real = float(m.group(1)) + user = float(m.group(2)) + sys = float(m.group(3)) + if real > 0.5: + cores = (user + sys) / real + measurement = '; cpu_cost=%.01f; estimated=%.01f' % (cores, self._spec.cpu_cost) + message('PASSED', '%s [time=%.1fsec; retries=%d:%d%s]' % ( + self._spec.shortname, elapsed, self._retries, self._timeout_retries, measurement), do_newline=self._newline_on_success or self._travis) self.result.state = 'PASSED' if self._bin_hash: update_cache.finished(self._spec.identity(), self._bin_hash) - elif self._state == _RUNNING and time.time() - self._start > self._spec.timeout_seconds: + elif (self._state == _RUNNING and + self._spec.timeout_seconds is not None and + time.time() - self._start > self._spec.timeout_seconds): if self._timeout_retries < self._spec.timeout_retries: message('TIMEOUT_FLAKE', '%s [pid=%d]' % (self._spec.shortname, self._process.pid), stdout(), do_newline=True) self._timeout_retries += 1 @@ -327,10 +348,19 @@ class Jobset(object): def get_num_failures(self): return self._failures + def cpu_cost(self): + c = 0 + for job in self._running: + c += job._spec.cpu_cost + return c + def start(self, spec): """Start a job. Return True on success, False on failure.""" - while len(self._running) >= self._maxjobs: + while True: if self.cancelled(): return False + current_cpu_cost = self.cpu_cost() + if current_cpu_cost == 0: break + if current_cpu_cost + spec.cpu_cost < self._maxjobs: break self.reap() if self.cancelled(): return False if spec.hash_targets: diff --git a/tools/run_tests/pre_build_csharp.sh b/tools/run_tests/pre_build_csharp.sh index 42ff60bea220f38f4a8ee0c30f71ddf94d0a0125..4341c0256fd9e9bcb4a8e261b8d9a5a0136fbc4c 100755 --- a/tools/run_tests/pre_build_csharp.sh +++ b/tools/run_tests/pre_build_csharp.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2015, Google Inc. +# Copyright 2015-2016, Google Inc. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -35,6 +35,11 @@ cd $(dirname $0)/../../src/csharp root=`pwd` +if [ -x "$(command -v nuget)" ] +then + nuget restore Grpc.sln +fi + if [ -n "$NUGET" ] then $NUGET restore Grpc.sln diff --git a/tools/run_tests/run_interop_tests.py b/tools/run_tests/run_interop_tests.py index 10566d6bc86577b79fab2add44378fb2bd3fce39..6ce618eb77907b9727bae27e9b6d3c57ded78b7f 100755 --- a/tools/run_tests/run_interop_tests.py +++ b/tools/run_tests/run_interop_tests.py @@ -426,8 +426,8 @@ def cloud_to_prod_jobspec(language, test_case, docker_image=None, auth=False): """Creates jobspec for cloud-to-prod interop test""" container_name = None cmdargs = [ - '--server_host_override=grpc-test.sandbox.google.com', - '--server_host=grpc-test.sandbox.google.com', + '--server_host_override=grpc-test.sandbox.googleapis.com', + '--server_host=grpc-test.sandbox.googleapis.com', '--server_port=443', '--use_tls=true', '--test_case=%s' % test_case] diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 775bec94995fb5e1b8852fc15073d57e552f4fd3..f8b01021c88fbfaf0d2c57f680c9edf05f787ccf 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -31,6 +31,7 @@ """Run tests in parallel.""" import argparse +import ast import glob import hashlib import itertools @@ -66,19 +67,20 @@ def platform_string(): # SimpleConfig: just compile with CONFIG=config, and run the binary to test -class SimpleConfig(object): +class Config(object): - def __init__(self, config, environ=None, timeout_multiplier=1): + def __init__(self, config, environ=None, timeout_multiplier=1, tool_prefix=[]): if environ is None: environ = {} self.build_config = config self.allow_hashing = (config != 'gcov') self.environ = environ self.environ['CONFIG'] = config + self.tool_prefix = tool_prefix self.timeout_multiplier = timeout_multiplier def job_spec(self, cmdline, hash_targets, timeout_seconds=5*60, - shortname=None, environ={}): + shortname=None, environ={}, cpu_cost=1.0): """Construct a jobset.JobSpec for a test under this config Args: @@ -93,36 +95,17 @@ class SimpleConfig(object): actual_environ = self.environ.copy() for k, v in environ.iteritems(): actual_environ[k] = v - return jobset.JobSpec(cmdline=cmdline, + return jobset.JobSpec(cmdline=self.tool_prefix + cmdline, shortname=shortname, environ=actual_environ, - timeout_seconds=self.timeout_multiplier * timeout_seconds, + cpu_cost=cpu_cost, + timeout_seconds=(self.timeout_multiplier * timeout_seconds if timeout_seconds else None), hash_targets=hash_targets if self.allow_hashing else None, flake_retries=5 if args.allow_flakes else 0, timeout_retries=3 if args.allow_flakes else 0) -# ValgrindConfig: compile with some CONFIG=config, but use valgrind to run -class ValgrindConfig(object): - - def __init__(self, config, tool, args=None): - if args is None: - args = [] - self.build_config = config - self.tool = tool - self.args = args - self.allow_hashing = False - - def job_spec(self, cmdline, hash_targets): - return jobset.JobSpec(cmdline=['valgrind', '--tool=%s' % self.tool] + - self.args + cmdline, - shortname='valgrind %s' % cmdline[0], - hash_targets=None, - flake_retries=5 if args.allow_flakes else 0, - timeout_retries=3 if args.allow_flakes else 0) - - def get_c_tests(travis, test_lang) : out = [] platforms_str = 'ci_platforms' if travis else 'platforms' @@ -157,6 +140,7 @@ class CLanguage(object): cmdline = [binary] + target['args'] out.append(config.job_spec(cmdline, [binary], shortname=' '.join(cmdline), + cpu_cost=target['cpu_cost'], environ={'GRPC_DEFAULT_SSL_ROOTS_FILE_PATH': os.path.abspath(os.path.dirname( sys.argv[0]) + '/../../src/core/tsi/test_creds/ca.pem')})) @@ -175,6 +159,9 @@ class CLanguage(object): return ['buildtests_%s' % self.make_target] return ['buildtests_%s' % self.make_target, 'tools_%s' % self.make_target] + def make_options(self): + return [] + def pre_build_steps(self): if self.platform == 'windows': return [['tools\\run_tests\\pre_build_c.bat']] @@ -213,6 +200,9 @@ class NodeLanguage(object): def make_targets(self, test_regex): return [] + def make_options(self): + return [] + def build_steps(self): return [['tools/run_tests/build_node.sh']] @@ -241,6 +231,9 @@ class PhpLanguage(object): def make_targets(self, test_regex): return ['static_c', 'shared_c'] + def make_options(self): + return [] + def build_steps(self): return [['tools/run_tests/build_php.sh']] @@ -280,6 +273,9 @@ class PythonLanguage(object): def make_targets(self, test_regex): return ['static_c', 'grpc_python_plugin', 'shared_c'] + def make_options(self): + return [] + def build_steps(self): commands = [] for python_version in self._build_python_versions: @@ -319,6 +315,9 @@ class RubyLanguage(object): def make_targets(self, test_regex): return ['static_c'] + def make_options(self): + return [] + def build_steps(self): return [['tools/run_tests/build_ruby.sh']] @@ -391,6 +390,13 @@ class CSharpLanguage(object): else: return ['grpc_csharp_ext'] + def make_options(self): + if self.platform == 'mac': + # On Mac, official distribution of mono is 32bit. + return ['CFLAGS=-arch i386', 'LDFLAGS=-arch i386'] + else: + return [] + def build_steps(self): if self.platform == 'windows': return [['src\\csharp\\buildall.bat']] @@ -422,6 +428,9 @@ class ObjCLanguage(object): def make_targets(self, test_regex): return ['grpc_objective_c_plugin', 'interop_server'] + def make_options(self): + return [] + def build_steps(self): return [['src/objective-c/tests/build_tests.sh']] @@ -441,8 +450,10 @@ class ObjCLanguage(object): class Sanity(object): def test_specs(self, config, args): - return [config.job_spec(['tools/run_tests/run_sanity.sh'], None, timeout_seconds=15*60), - config.job_spec(['tools/run_tests/check_sources_and_headers.py'], None)] + import yaml + with open('tools/run_tests/sanity_tests.yaml', 'r') as f: + return [config.job_spec([cmd['script']], None, timeout_seconds=None, environ={'TEST': 'true'}, cpu_cost=cmd.get('cpu_cost', 1)) + for cmd in yaml.load(f)] def pre_build_steps(self): return [] @@ -450,6 +461,9 @@ class Sanity(object): def make_targets(self, test_regex): return ['run_dep_checks'] + def make_options(self): + return [] + def build_steps(self): return [] @@ -477,6 +491,9 @@ class Build(object): def make_targets(self, test_regex): return ['static'] + def make_options(self): + return [] + def build_steps(self): return [] @@ -494,22 +511,8 @@ class Build(object): # different configurations we can run under -_CONFIGS = { - 'dbg': SimpleConfig('dbg'), - 'opt': SimpleConfig('opt'), - 'tsan': SimpleConfig('tsan', timeout_multiplier=2, environ={ - 'TSAN_OPTIONS': 'suppressions=tools/tsan_suppressions.txt:halt_on_error=1:second_deadlock_stack=1'}), - 'msan': SimpleConfig('msan', timeout_multiplier=1.5), - 'ubsan': SimpleConfig('ubsan'), - 'asan': SimpleConfig('asan', timeout_multiplier=1.5, environ={ - 'ASAN_OPTIONS': 'suppressions=tools/asan_suppressions.txt:detect_leaks=1:color=always', - 'LSAN_OPTIONS': 'suppressions=tools/asan_suppressions.txt:report_objects=1'}), - 'asan-noleaks': SimpleConfig('asan', environ={ - 'ASAN_OPTIONS': 'detect_leaks=0:color=always'}), - 'gcov': SimpleConfig('gcov'), - 'memcheck': ValgrindConfig('valgrind', 'memcheck', ['--leak-check=full']), - 'helgrind': ValgrindConfig('dbg', 'helgrind') - } +with open('tools/run_tests/configs.json') as f: + _CONFIGS = dict((cfg['config'], Config(**cfg)) for cfg in ast.literal_eval(f.read())) _DEFAULT = ['opt'] @@ -600,7 +603,7 @@ argp.add_argument('-n', '--runs_per_test', default=1, type=runs_per_test_type, help='A positive integer or "inf". If "inf", all tests will run in an ' 'infinite loop. Especially useful in combination with "-f"') argp.add_argument('-r', '--regex', default='.*', type=str) -argp.add_argument('-j', '--jobs', default=2 * multiprocessing.cpu_count(), type=int) +argp.add_argument('-j', '--jobs', default=multiprocessing.cpu_count(), type=int) argp.add_argument('-s', '--slowdown', default=1.0, type=float) argp.add_argument('-f', '--forever', default=False, @@ -647,6 +650,8 @@ argp.add_argument('--build_only', action='store_const', const=True, help='Perform all the build steps but dont run any tests.') +argp.add_argument('--measure_cpu_costs', default=False, action='store_const', const=True, + help='Measure the cpu costs of tests') argp.add_argument('--update_submodules', default=[], nargs='*', help='Update some submodules before building. If any are updated, also run generate_projects. ' + 'Submodules are specified as SUBMODULE_NAME:BRANCH; if BRANCH is omitted, master is assumed.') @@ -655,6 +660,8 @@ argp.add_argument('-x', '--xml_report', default=None, type=str, help='Generates a JUnit-compatible XML report') args = argp.parse_args() +jobset.measure_cpu_costs = args.measure_cpu_costs + if args.use_docker: if not args.travis: print 'Seen --use_docker flag, will run tests under docker.' @@ -740,6 +747,14 @@ if len(build_configs) > 1: print language, 'does not support multiple build configurations' sys.exit(1) +language_make_options=[] +if any(language.make_options() for language in languages): + if len(languages) != 1: + print 'languages with custom make options cannot be built simultaneously with other languages' + sys.exit(1) + else: + language_make_options = next(iter(languages)).make_options() + if platform_string() != 'windows': if args.arch != 'default': print 'Architecture %s not supported on current platform.' % args.arch @@ -763,20 +778,22 @@ if platform_string() == 'windows': '/p:Configuration=%s' % _WINDOWS_CONFIG[cfg], _windows_toolset_option(args.compiler), _windows_arch_option(args.arch)] + - extra_args, - shell=True, timeout_seconds=90*60) + extra_args + + language_make_options, + shell=True, timeout_seconds=None) for target in targets] else: def make_jobspec(cfg, targets, makefile='Makefile'): if targets: return [jobset.JobSpec([os.getenv('MAKE', 'make'), '-f', makefile, - '-j', '%d' % (multiprocessing.cpu_count() + 1), + '-j', '%d' % args.jobs, 'EXTRA_DEFINES=GRPC_TEST_SLOWDOWN_MACHINE_FACTOR=%f' % args.slowdown, 'CONFIG=%s' % cfg] + + language_make_options + ([] if not args.travis else ['JENKINS_BUILD=1']) + targets, - timeout_seconds=30*60)] + timeout_seconds=None)] else: return [] make_targets = {} @@ -801,7 +818,7 @@ if make_targets: make_commands = itertools.chain.from_iterable(make_jobspec(cfg, list(targets), makefile) for cfg in build_configs for (makefile, targets) in make_targets.iteritems()) build_steps.extend(set(make_commands)) build_steps.extend(set( - jobset.JobSpec(cmdline, environ=build_step_environ(cfg), timeout_seconds=10*60) + jobset.JobSpec(cmdline, environ=build_step_environ(cfg), timeout_seconds=None) for cfg in build_configs for l in languages for cmdline in l.build_steps())) @@ -1093,3 +1110,4 @@ else: if BuildAndRunError.POST_TEST in errors: exit_code |= 4 sys.exit(exit_code) + diff --git a/tools/run_tests/sanity_tests.yaml b/tools/run_tests/sanity_tests.yaml new file mode 100644 index 0000000000000000000000000000000000000000..160acde5659e3adfe00a75e2861c0f816989919f --- /dev/null +++ b/tools/run_tests/sanity_tests.yaml @@ -0,0 +1,9 @@ +# a set of tests that are run in parallel for sanity tests +- script: tools/run_tests/check_sources_and_headers.py +- script: tools/run_tests/check_submodules.sh +- script: tools/run_tests/check_cache_mk.sh +- script: tools/buildgen/generate_projects.sh + cpu_cost: 100 +- script: tools/distrib/check_copyright.py +- script: tools/distrib/clang_format_code.sh +- script: tools/distrib/check_trailing_newlines.sh diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index 3e42c59ed3edeac900f9df55b033e4a441ddd1bc..a311a04af3bbdb672c2b7436623ac7bf79fa252c 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -1089,6 +1089,20 @@ "test/core/iomgr/socket_utils_test.c" ] }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "tag_set_test", + "src": [ + "test/core/census/tag_set_test.c" + ] + }, { "deps": [ "gpr", @@ -2060,6 +2074,184 @@ "test/core/surface/public_headers_must_be_c89.c" ] }, + { + "deps": [ + "bad_client_test", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "badreq_bad_client_test", + "src": [ + "test/core/bad_client/tests/badreq.c" + ] + }, + { + "deps": [ + "bad_client_test", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "connection_prefix_bad_client_test", + "src": [ + "test/core/bad_client/tests/connection_prefix.c" + ] + }, + { + "deps": [ + "bad_client_test", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "headers_bad_client_test", + "src": [ + "test/core/bad_client/tests/headers.c" + ] + }, + { + "deps": [ + "bad_client_test", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "initial_settings_frame_bad_client_test", + "src": [ + "test/core/bad_client/tests/initial_settings_frame.c" + ] + }, + { + "deps": [ + "bad_client_test", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "server_registered_method_bad_client_test", + "src": [ + "test/core/bad_client/tests/server_registered_method.c" + ] + }, + { + "deps": [ + "bad_client_test", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "simple_request_bad_client_test", + "src": [ + "test/core/bad_client/tests/simple_request.c" + ] + }, + { + "deps": [ + "bad_client_test", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "unknown_frame_bad_client_test", + "src": [ + "test/core/bad_client/tests/unknown_frame.c" + ] + }, + { + "deps": [ + "bad_client_test", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "window_overflow_bad_client_test", + "src": [ + "test/core/bad_client/tests/window_overflow.c" + ] + }, + { + "deps": [ + "bad_ssl_test_server", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "bad_ssl_alpn_server", + "src": [ + "test/core/bad_ssl/servers/alpn.c" + ] + }, + { + "deps": [ + "bad_ssl_test_server", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "bad_ssl_cert_server", + "src": [ + "test/core/bad_ssl/servers/cert.c" + ] + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "bad_ssl_alpn_test", + "src": [ + "test/core/bad_ssl/bad_ssl_test.c" + ] + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "bad_ssl_cert_test", + "src": [ + "test/core/bad_ssl/bad_ssl_test.c" + ] + }, { "deps": [ "end2end_certs", @@ -2543,184 +2735,6 @@ "test/core/end2end/fixtures/h2_uds+poll.c" ] }, - { - "deps": [ - "bad_client_test", - "gpr", - "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" - ], - "headers": [], - "language": "c", - "name": "badreq_bad_client_test", - "src": [ - "test/core/bad_client/tests/badreq.c" - ] - }, - { - "deps": [ - "bad_client_test", - "gpr", - "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" - ], - "headers": [], - "language": "c", - "name": "connection_prefix_bad_client_test", - "src": [ - "test/core/bad_client/tests/connection_prefix.c" - ] - }, - { - "deps": [ - "bad_client_test", - "gpr", - "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" - ], - "headers": [], - "language": "c", - "name": "headers_bad_client_test", - "src": [ - "test/core/bad_client/tests/headers.c" - ] - }, - { - "deps": [ - "bad_client_test", - "gpr", - "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" - ], - "headers": [], - "language": "c", - "name": "initial_settings_frame_bad_client_test", - "src": [ - "test/core/bad_client/tests/initial_settings_frame.c" - ] - }, - { - "deps": [ - "bad_client_test", - "gpr", - "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" - ], - "headers": [], - "language": "c", - "name": "server_registered_method_bad_client_test", - "src": [ - "test/core/bad_client/tests/server_registered_method.c" - ] - }, - { - "deps": [ - "bad_client_test", - "gpr", - "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" - ], - "headers": [], - "language": "c", - "name": "simple_request_bad_client_test", - "src": [ - "test/core/bad_client/tests/simple_request.c" - ] - }, - { - "deps": [ - "bad_client_test", - "gpr", - "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" - ], - "headers": [], - "language": "c", - "name": "unknown_frame_bad_client_test", - "src": [ - "test/core/bad_client/tests/unknown_frame.c" - ] - }, - { - "deps": [ - "bad_client_test", - "gpr", - "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" - ], - "headers": [], - "language": "c", - "name": "window_overflow_bad_client_test", - "src": [ - "test/core/bad_client/tests/window_overflow.c" - ] - }, - { - "deps": [ - "bad_ssl_test_server", - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [], - "language": "c", - "name": "bad_ssl_alpn_server", - "src": [ - "test/core/bad_ssl/servers/alpn.c" - ] - }, - { - "deps": [ - "bad_ssl_test_server", - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [], - "language": "c", - "name": "bad_ssl_cert_server", - "src": [ - "test/core/bad_ssl/servers/cert.c" - ] - }, - { - "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [], - "language": "c", - "name": "bad_ssl_alpn_test", - "src": [ - "test/core/bad_ssl/bad_ssl_test.c" - ] - }, - { - "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [], - "language": "c", - "name": "bad_ssl_cert_test", - "src": [ - "test/core/bad_ssl/bad_ssl_test.c" - ] - }, { "deps": [], "headers": [ @@ -3023,6 +3037,7 @@ "src/core/census/initialize.c", "src/core/census/operation.c", "src/core/census/rpc_metric_id.h", + "src/core/census/tag_set.c", "src/core/census/tracing.c", "src/core/channel/channel_args.c", "src/core/channel/channel_args.h", @@ -3521,6 +3536,7 @@ "src/core/census/initialize.c", "src/core/census/operation.c", "src/core/census/rpc_metric_id.h", + "src/core/census/tag_set.c", "src/core/census/tracing.c", "src/core/channel/channel_args.c", "src/core/channel/channel_args.h", @@ -4335,6 +4351,40 @@ "src/csharp/ext/grpc_csharp_ext.c" ] }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [ + "test/core/bad_client/bad_client.h" + ], + "language": "c", + "name": "bad_client_test", + "src": [ + "test/core/bad_client/bad_client.c", + "test/core/bad_client/bad_client.h" + ] + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [ + "test/core/bad_ssl/server.h" + ], + "language": "c", + "name": "bad_ssl_test_server", + "src": [ + "test/core/bad_ssl/server.c", + "test/core/bad_ssl/server.h" + ] + }, { "deps": [ "end2end_certs", @@ -4455,39 +4505,5 @@ "test/core/end2end/data/server1_key.c", "test/core/end2end/data/test_root_cert.c" ] - }, - { - "deps": [ - "gpr", - "gpr_test_util", - "grpc_test_util_unsecure", - "grpc_unsecure" - ], - "headers": [ - "test/core/bad_client/bad_client.h" - ], - "language": "c", - "name": "bad_client_test", - "src": [ - "test/core/bad_client/bad_client.c", - "test/core/bad_client/bad_client.h" - ] - }, - { - "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [ - "test/core/bad_ssl/server.h" - ], - "language": "c", - "name": "bad_ssl_test_server", - "src": [ - "test/core/bad_ssl/server.c", - "test/core/bad_ssl/server.h" - ] } ] diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index c8153940fcf543cc3a00db0892ded5a7365059b0..8c76b3f134f65e7630181a5a5208c304f96e8b95 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -9,6 +9,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -28,6 +29,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -47,6 +49,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -66,6 +69,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -85,6 +89,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -104,6 +109,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -123,6 +129,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -142,6 +149,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -161,6 +169,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -180,6 +189,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -199,6 +209,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -217,6 +228,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -235,6 +247,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -253,6 +266,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -270,6 +284,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -287,6 +302,7 @@ "mac", "posix" ], + "cpu_cost": 2, "exclude_configs": [], "flaky": false, "language": "c", @@ -304,6 +320,7 @@ "mac", "posix" ], + "cpu_cost": 2, "exclude_configs": [], "flaky": false, "language": "c", @@ -322,6 +339,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -341,6 +359,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -360,6 +379,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -379,6 +399,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -398,6 +419,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -417,6 +439,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -436,6 +459,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -455,6 +479,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -474,6 +499,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -493,6 +519,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -512,6 +539,7 @@ "posix", "windows" ], + "cpu_cost": 10, "exclude_configs": [], "flaky": false, "language": "c", @@ -531,6 +559,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -550,6 +579,7 @@ "posix", "windows" ], + "cpu_cost": 10, "exclude_configs": [], "flaky": false, "language": "c", @@ -569,6 +599,7 @@ "posix", "windows" ], + "cpu_cost": 10, "exclude_configs": [], "flaky": false, "language": "c", @@ -588,6 +619,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -607,6 +639,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -626,6 +659,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -645,6 +679,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -664,6 +699,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -683,6 +719,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -702,6 +739,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -721,6 +759,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -740,6 +779,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -759,6 +799,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -778,6 +819,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -796,6 +838,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -814,6 +857,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -833,6 +877,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -852,6 +897,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -871,6 +917,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -890,6 +937,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -909,6 +957,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -927,6 +976,7 @@ "mac", "posix" ], + "cpu_cost": 0.5, "exclude_configs": [], "flaky": false, "language": "c", @@ -942,6 +992,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.5, "exclude_configs": [], "flaky": false, "language": "c", @@ -958,6 +1009,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -977,6 +1029,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -996,6 +1049,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1015,6 +1069,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1034,6 +1089,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1053,6 +1109,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1072,6 +1129,7 @@ "posix", "windows" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -1091,6 +1149,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1110,6 +1169,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1129,6 +1189,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1148,6 +1209,7 @@ "posix", "windows" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -1167,6 +1229,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1186,6 +1249,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1205,6 +1269,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1224,6 +1289,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1243,6 +1309,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1262,6 +1329,7 @@ "posix", "windows" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -1281,6 +1349,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1300,6 +1369,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1318,6 +1388,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1328,6 +1399,26 @@ "posix" ] }, + { + "args": [], + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "cpu_cost": 1.0, + "exclude_configs": [], + "flaky": false, + "language": "c", + "name": "tag_set_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, { "args": [], "ci_platforms": [ @@ -1335,6 +1426,7 @@ "mac", "posix" ], + "cpu_cost": 0.5, "exclude_configs": [], "flaky": false, "language": "c", @@ -1352,6 +1444,7 @@ "mac", "posix" ], + "cpu_cost": 0.5, "exclude_configs": [], "flaky": false, "language": "c", @@ -1369,6 +1462,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1387,6 +1481,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1406,6 +1501,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1425,6 +1521,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1444,6 +1541,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1463,6 +1561,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1482,6 +1581,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1501,6 +1601,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1519,6 +1620,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1536,6 +1638,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1554,6 +1657,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1572,6 +1676,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -1590,6 +1695,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1608,6 +1714,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1625,6 +1732,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1643,6 +1751,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1662,6 +1771,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1681,6 +1791,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1699,6 +1810,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1717,6 +1829,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1736,6 +1849,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1755,6 +1869,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1774,6 +1889,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1793,6 +1909,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1812,6 +1929,7 @@ "posix", "windows" ], + "cpu_cost": 0.5, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1830,6 +1948,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1848,6 +1967,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1866,6 +1986,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1884,6 +2005,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1902,6 +2024,7 @@ "mac", "posix" ], + "cpu_cost": 10, "exclude_configs": [ "tsan" ], @@ -1922,6 +2045,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1940,6 +2064,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1957,6 +2082,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1975,6 +2101,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -1994,6 +2121,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -2012,6 +2140,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -2029,6 +2158,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -2046,6 +2176,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c++", @@ -2064,6 +2195,7 @@ "posix", "windows" ], + "cpu_cost": 100, "exclude_configs": [], "flaky": false, "language": "c++", @@ -2083,6 +2215,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c89", @@ -2102,6 +2235,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -2121,6 +2255,7 @@ "posix", "windows" ], + "cpu_cost": 0.2, "exclude_configs": [], "flaky": false, "language": "c", @@ -2140,6 +2275,7 @@ "posix", "windows" ], + "cpu_cost": 0.2, "exclude_configs": [], "flaky": false, "language": "c", @@ -2159,6 +2295,7 @@ "posix", "windows" ], + "cpu_cost": 0.2, "exclude_configs": [], "flaky": false, "language": "c", @@ -2178,6 +2315,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -2197,6 +2335,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -2216,6 +2355,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -2235,6 +2375,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -2253,6 +2394,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -2270,6 +2412,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -2289,6 +2432,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2311,6 +2455,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2333,6 +2478,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2355,6 +2501,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2377,6 +2524,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2402,6 +2550,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2427,6 +2576,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2452,6 +2602,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2477,6 +2628,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2502,6 +2654,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2527,6 +2680,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2552,6 +2706,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2577,6 +2732,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2602,6 +2758,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2627,6 +2784,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2652,6 +2810,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2677,6 +2836,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2702,6 +2862,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2727,6 +2888,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2752,6 +2914,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2777,6 +2940,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2802,6 +2966,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2827,6 +2992,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2852,6 +3018,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2877,6 +3044,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2902,6 +3070,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2927,6 +3096,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2952,6 +3122,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -2977,6 +3148,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3001,6 +3173,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3023,6 +3196,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3045,6 +3219,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3069,6 +3244,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3091,6 +3267,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3113,6 +3290,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3135,6 +3313,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3157,6 +3336,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3179,6 +3359,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3201,6 +3382,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3223,6 +3405,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3245,6 +3428,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3267,6 +3451,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3291,6 +3476,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3313,6 +3499,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3335,6 +3522,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3359,6 +3547,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3381,6 +3570,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3403,6 +3593,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3425,6 +3616,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3447,6 +3639,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3471,6 +3664,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3493,6 +3687,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3515,6 +3710,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3537,6 +3733,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3559,6 +3756,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3581,6 +3779,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3603,6 +3802,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3625,6 +3825,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3647,6 +3848,7 @@ "posix", "windows" ], + "cpu_cost": 1.0, "exclude_configs": [ "asan" ], @@ -3670,6 +3872,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -3691,6 +3894,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -3712,6 +3916,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -3733,6 +3938,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -3754,6 +3960,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -3775,6 +3982,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -3796,6 +4004,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -3817,6 +4026,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -3838,6 +4048,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -3859,6 +4070,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -3880,6 +4092,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -3901,6 +4114,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -3922,6 +4136,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -3943,6 +4158,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -3964,6 +4180,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -3985,6 +4202,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4006,6 +4224,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4027,6 +4246,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4048,6 +4268,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4069,6 +4290,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4090,6 +4312,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4111,6 +4334,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4132,6 +4356,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4153,6 +4378,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4174,6 +4400,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4195,6 +4422,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4216,6 +4444,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4237,6 +4466,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4258,6 +4488,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4279,6 +4510,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4300,6 +4532,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4321,6 +4554,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4342,6 +4576,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4363,6 +4598,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4384,6 +4620,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4405,6 +4642,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4426,6 +4664,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4447,6 +4686,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4468,6 +4708,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4489,6 +4730,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4510,6 +4752,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4531,6 +4774,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4552,6 +4796,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4573,6 +4818,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4594,6 +4840,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4615,6 +4862,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4636,6 +4884,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4657,6 +4906,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4678,6 +4928,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4699,6 +4950,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4720,6 +4972,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4741,6 +4994,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4762,6 +5016,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4783,6 +5038,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4804,6 +5060,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4825,6 +5082,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4846,6 +5104,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4867,6 +5126,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4888,6 +5148,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4909,6 +5170,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4930,6 +5192,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4951,6 +5214,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -4972,6 +5236,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -4993,6 +5258,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5014,6 +5280,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5035,6 +5302,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5056,6 +5324,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5077,6 +5346,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5098,6 +5368,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5119,6 +5390,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5140,6 +5412,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5161,6 +5434,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5181,6 +5455,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5201,6 +5476,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5221,6 +5497,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5241,6 +5518,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5261,6 +5539,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5281,6 +5560,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5301,6 +5581,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5321,6 +5602,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5341,6 +5623,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5361,6 +5644,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5381,6 +5665,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5401,6 +5686,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5421,6 +5707,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5441,6 +5728,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5461,6 +5749,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5481,6 +5770,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5501,6 +5791,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5521,6 +5812,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5541,6 +5833,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5561,6 +5854,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5581,6 +5875,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5601,6 +5896,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5621,6 +5917,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5641,6 +5938,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5661,6 +5959,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5681,6 +5980,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5701,6 +6001,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5721,6 +6022,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5741,6 +6043,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5761,6 +6064,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5781,6 +6085,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5801,6 +6106,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5821,6 +6127,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5841,6 +6148,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5861,6 +6169,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5881,6 +6190,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5902,6 +6212,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5923,6 +6234,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5944,6 +6256,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -5965,6 +6278,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -5986,6 +6300,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6007,6 +6322,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6028,6 +6344,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6049,6 +6366,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6070,6 +6388,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6091,6 +6410,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6112,6 +6432,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6133,6 +6454,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6154,6 +6476,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6175,6 +6498,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6196,6 +6520,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6217,6 +6542,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6238,6 +6564,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6259,6 +6586,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6280,6 +6608,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6301,6 +6630,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6322,6 +6652,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6343,6 +6674,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6364,6 +6696,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6385,6 +6718,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6406,6 +6740,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6427,6 +6762,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6448,6 +6784,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6469,6 +6806,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6490,6 +6828,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6511,6 +6850,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6532,6 +6872,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6553,6 +6894,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6574,6 +6916,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6595,6 +6938,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6616,6 +6960,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6637,6 +6982,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6655,6 +7001,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6670,6 +7017,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6685,6 +7033,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6700,6 +7049,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6715,6 +7065,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6730,6 +7081,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6745,6 +7097,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6760,6 +7113,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6775,6 +7129,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6790,6 +7145,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6805,6 +7161,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6820,6 +7177,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6835,6 +7193,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6850,6 +7209,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6865,6 +7225,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6880,6 +7241,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6895,6 +7257,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6910,6 +7273,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6925,6 +7289,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6940,6 +7305,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6955,6 +7321,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -6970,6 +7337,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -6985,6 +7353,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7000,6 +7369,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7015,6 +7385,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7030,6 +7401,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7045,6 +7417,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7060,6 +7433,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7075,6 +7449,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7090,6 +7465,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7105,6 +7481,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7120,6 +7497,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7135,6 +7513,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7150,6 +7529,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7165,6 +7545,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7180,6 +7561,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7195,6 +7577,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7210,6 +7593,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7225,6 +7609,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7240,6 +7625,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7255,6 +7641,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7270,6 +7657,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7285,6 +7673,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7300,6 +7689,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7315,6 +7705,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7330,6 +7721,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7345,6 +7737,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7360,6 +7753,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7375,6 +7769,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7390,6 +7785,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7405,6 +7801,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7420,6 +7817,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7435,6 +7833,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7450,6 +7849,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7465,6 +7865,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7480,6 +7881,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7495,6 +7897,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7510,6 +7913,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7525,6 +7929,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7540,6 +7945,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7555,6 +7961,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7570,6 +7977,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7585,6 +7993,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7600,6 +8009,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7615,6 +8025,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7630,6 +8041,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7645,6 +8057,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7660,6 +8073,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7675,6 +8089,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7690,6 +8105,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7705,6 +8121,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7720,6 +8137,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7735,6 +8153,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7750,6 +8169,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7765,6 +8185,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7780,6 +8201,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7795,6 +8217,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7810,6 +8233,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7825,6 +8249,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7840,6 +8265,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7855,6 +8281,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7870,6 +8297,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7885,6 +8313,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7900,6 +8329,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7915,6 +8345,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7930,6 +8361,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7945,6 +8377,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7960,6 +8393,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -7975,6 +8409,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -7990,6 +8425,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8005,6 +8441,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8020,6 +8457,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8035,6 +8473,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8050,6 +8489,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8065,6 +8505,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8080,6 +8521,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8095,6 +8537,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8110,6 +8553,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8125,6 +8569,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8140,6 +8585,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8155,6 +8601,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8170,6 +8617,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8185,6 +8633,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8200,6 +8649,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8215,6 +8665,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8230,6 +8681,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8245,6 +8697,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8260,6 +8713,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8277,6 +8731,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8297,6 +8752,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8317,6 +8773,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8337,6 +8794,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8357,6 +8815,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8377,6 +8836,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8397,6 +8857,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8417,6 +8878,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8437,6 +8899,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8457,6 +8920,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8477,6 +8941,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8497,6 +8962,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8517,6 +8983,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8537,6 +9004,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8557,6 +9025,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8577,6 +9046,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8597,6 +9067,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8617,6 +9088,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8637,6 +9109,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8657,6 +9130,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8677,6 +9151,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8697,6 +9172,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8717,6 +9193,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8737,6 +9214,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8757,6 +9235,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8777,6 +9256,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8797,6 +9277,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8817,6 +9298,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8837,6 +9319,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8857,6 +9340,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8877,6 +9361,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8897,6 +9382,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8917,6 +9403,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8937,6 +9424,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -8957,6 +9445,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8977,6 +9466,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -8997,6 +9487,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9017,6 +9508,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9037,6 +9529,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9057,6 +9550,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9077,6 +9571,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9097,6 +9592,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9117,6 +9613,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9137,6 +9634,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9157,6 +9655,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9177,6 +9676,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9197,6 +9697,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9217,6 +9718,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9237,6 +9739,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9257,6 +9760,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9277,6 +9781,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9297,6 +9802,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9317,6 +9823,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9337,6 +9844,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9357,6 +9865,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9377,6 +9886,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9397,6 +9907,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9417,6 +9928,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9437,6 +9949,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9457,6 +9970,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9477,6 +9991,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9497,6 +10012,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9517,6 +10033,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9537,6 +10054,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9557,6 +10075,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9577,6 +10096,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9597,6 +10117,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9617,6 +10138,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9637,6 +10159,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9657,6 +10180,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9677,6 +10201,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9697,6 +10222,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9717,6 +10243,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9737,6 +10264,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9757,6 +10285,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9777,6 +10306,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9797,6 +10327,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9817,6 +10348,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9837,6 +10369,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9857,6 +10390,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9877,6 +10411,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9897,6 +10432,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9917,6 +10453,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9937,6 +10474,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -9957,6 +10495,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9977,6 +10516,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -9997,6 +10537,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10017,6 +10558,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10037,6 +10579,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10057,6 +10600,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10077,6 +10621,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10097,6 +10642,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10117,6 +10663,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10137,6 +10684,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10157,6 +10705,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10177,6 +10726,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10197,6 +10747,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10218,6 +10769,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10239,6 +10791,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10260,6 +10813,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10281,6 +10835,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10302,6 +10857,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10323,6 +10879,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10344,6 +10901,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10365,6 +10923,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10386,6 +10945,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10407,6 +10967,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10428,6 +10989,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10449,6 +11011,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10470,6 +11033,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10491,6 +11055,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10512,6 +11077,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10533,6 +11099,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10554,6 +11121,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10575,6 +11143,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10596,6 +11165,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10617,6 +11187,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10638,6 +11209,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10659,6 +11231,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10680,6 +11253,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10701,6 +11275,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10722,6 +11297,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10743,6 +11319,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10764,6 +11341,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10785,6 +11363,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10806,6 +11385,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10827,6 +11407,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10847,6 +11428,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10867,6 +11449,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10887,6 +11470,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -10907,6 +11491,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10927,6 +11512,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10947,6 +11533,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10967,6 +11554,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -10987,6 +11575,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11007,6 +11596,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11027,6 +11617,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11047,6 +11638,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11067,6 +11659,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11087,6 +11680,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11107,6 +11701,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11127,6 +11722,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11147,6 +11743,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11167,6 +11764,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11187,6 +11785,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11207,6 +11806,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11227,6 +11827,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11247,6 +11848,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11267,6 +11869,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11287,6 +11890,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11307,6 +11911,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11327,6 +11932,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11347,6 +11953,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11367,6 +11974,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11387,6 +11995,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11407,6 +12016,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11427,6 +12037,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11447,6 +12058,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11468,6 +12080,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11489,6 +12102,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11510,6 +12124,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11531,6 +12146,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11552,6 +12168,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11573,6 +12190,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11594,6 +12212,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11615,6 +12234,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11636,6 +12256,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11657,6 +12278,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11678,6 +12300,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11699,6 +12322,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11720,6 +12344,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11741,6 +12366,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11762,6 +12388,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11783,6 +12410,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11804,6 +12432,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11825,6 +12454,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11846,6 +12476,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11867,6 +12498,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11888,6 +12520,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11909,6 +12542,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -11930,6 +12564,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11951,6 +12586,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11972,6 +12608,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -11993,6 +12630,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12014,6 +12652,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12035,6 +12674,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12056,6 +12696,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12077,6 +12718,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12098,6 +12740,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12119,6 +12762,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12140,6 +12784,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12161,6 +12806,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12182,6 +12828,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12203,6 +12850,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12221,6 +12869,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12236,6 +12885,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12251,6 +12901,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12266,6 +12917,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12281,6 +12933,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12296,6 +12949,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12311,6 +12965,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12326,6 +12981,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12341,6 +12997,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12356,6 +13013,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12371,6 +13029,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12386,6 +13045,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12401,6 +13061,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12416,6 +13077,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12431,6 +13093,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12446,6 +13109,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12461,6 +13125,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12476,6 +13141,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12491,6 +13157,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12506,6 +13173,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12521,6 +13189,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12536,6 +13205,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12551,6 +13221,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12566,6 +13237,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12581,6 +13253,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12596,6 +13269,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12611,6 +13285,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12626,6 +13301,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12641,6 +13317,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12656,6 +13333,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12671,6 +13349,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12686,6 +13365,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12701,6 +13381,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12716,6 +13397,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12731,6 +13413,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12746,6 +13429,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12763,6 +13447,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12783,6 +13468,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12803,6 +13489,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12823,6 +13510,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12843,6 +13531,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12863,6 +13552,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12883,6 +13573,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12903,6 +13594,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12923,6 +13615,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -12943,6 +13636,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12963,6 +13657,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -12983,6 +13678,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13003,6 +13699,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13023,6 +13720,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13043,6 +13741,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13063,6 +13762,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13083,6 +13783,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13103,6 +13804,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13123,6 +13825,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13143,6 +13846,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13163,6 +13867,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13183,6 +13888,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13203,6 +13909,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13223,6 +13930,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13243,6 +13951,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13263,6 +13972,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13283,6 +13993,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13303,6 +14014,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13323,6 +14035,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13343,6 +14056,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13364,6 +14078,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13385,6 +14100,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13406,6 +14122,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13427,6 +14144,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13448,6 +14166,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13469,6 +14188,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13490,6 +14210,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13511,6 +14232,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13532,6 +14254,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13553,6 +14276,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13574,6 +14298,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13595,6 +14320,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13616,6 +14342,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13637,6 +14364,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13658,6 +14386,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13679,6 +14408,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13700,6 +14430,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13721,6 +14452,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13742,6 +14474,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13763,6 +14496,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13784,6 +14518,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13805,6 +14540,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -13826,6 +14562,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13847,6 +14584,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13868,6 +14606,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13889,6 +14628,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13910,6 +14650,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13931,6 +14672,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13952,6 +14694,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13973,6 +14716,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -13994,6 +14738,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14014,6 +14759,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14033,6 +14779,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14052,6 +14799,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14071,6 +14819,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14090,6 +14839,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14109,6 +14859,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14128,6 +14879,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14147,6 +14899,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14166,6 +14919,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14185,6 +14939,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14204,6 +14959,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14223,6 +14979,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14242,6 +14999,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14261,6 +15019,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14280,6 +15039,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14299,6 +15059,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14318,6 +15079,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14337,6 +15099,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14356,6 +15119,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14375,6 +15139,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14394,6 +15159,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14413,6 +15179,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14432,6 +15199,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14451,6 +15219,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14470,6 +15239,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14489,6 +15259,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14508,6 +15279,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14527,6 +15299,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14546,6 +15319,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14565,6 +15339,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14584,6 +15359,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14603,6 +15379,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14622,6 +15399,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14641,6 +15419,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14660,6 +15439,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14677,6 +15457,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14692,6 +15473,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14707,6 +15489,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14722,6 +15505,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14737,6 +15521,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14752,6 +15537,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14767,6 +15553,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14782,6 +15569,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14797,6 +15585,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14812,6 +15601,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14827,6 +15617,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14842,6 +15633,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14857,6 +15649,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14872,6 +15665,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14887,6 +15681,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14902,6 +15697,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14917,6 +15713,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14932,6 +15729,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14947,6 +15745,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14962,6 +15761,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -14977,6 +15777,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -14992,6 +15793,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15007,6 +15809,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15022,6 +15825,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15037,6 +15841,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15052,6 +15857,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15067,6 +15873,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15082,6 +15889,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15097,6 +15905,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15112,6 +15921,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15127,6 +15937,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15142,6 +15953,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15157,6 +15969,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15172,6 +15985,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15187,6 +16001,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15205,6 +16020,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15226,6 +16042,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15247,6 +16064,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15268,6 +16086,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15289,6 +16108,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15310,6 +16130,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15331,6 +16152,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15352,6 +16174,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15373,6 +16196,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15394,6 +16218,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15415,6 +16240,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15436,6 +16262,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15457,6 +16284,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15478,6 +16306,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15499,6 +16328,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15520,6 +16350,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15541,6 +16372,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15562,6 +16394,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15583,6 +16416,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15604,6 +16438,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15625,6 +16460,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15646,6 +16482,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15667,6 +16504,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15688,6 +16526,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15709,6 +16548,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15730,6 +16570,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15751,6 +16592,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15772,6 +16614,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15793,6 +16636,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15814,6 +16658,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15835,6 +16680,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15856,6 +16702,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15877,6 +16724,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -15898,6 +16746,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15919,6 +16768,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15940,6 +16790,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15961,6 +16812,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -15982,6 +16834,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16003,6 +16856,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16024,6 +16878,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16045,6 +16900,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16066,6 +16922,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16087,6 +16944,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16108,6 +16966,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16129,6 +16988,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16150,6 +17010,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16171,6 +17032,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16192,6 +17054,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16213,6 +17076,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16234,6 +17098,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16255,6 +17120,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16276,6 +17142,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16297,6 +17164,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16318,6 +17186,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16339,6 +17208,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16360,6 +17230,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16381,6 +17252,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16402,6 +17274,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16423,6 +17296,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16444,6 +17318,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16465,6 +17340,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16486,6 +17362,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16507,6 +17384,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16528,6 +17406,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16549,6 +17428,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16570,6 +17450,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16591,6 +17472,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16612,6 +17494,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16633,6 +17516,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16654,6 +17538,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16675,6 +17560,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16696,6 +17582,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16717,6 +17604,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16738,6 +17626,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16759,6 +17648,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16780,6 +17670,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16801,6 +17692,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16822,6 +17714,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16843,6 +17736,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16864,6 +17758,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16885,6 +17780,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16906,6 +17802,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16927,6 +17824,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16948,6 +17846,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -16969,6 +17868,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -16990,6 +17890,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17011,6 +17912,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17032,6 +17934,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17053,6 +17956,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17074,6 +17978,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17095,6 +18000,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17116,6 +18022,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17137,6 +18044,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17158,6 +18066,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17179,6 +18088,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17200,6 +18110,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17221,6 +18132,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17242,6 +18154,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17263,6 +18176,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17284,6 +18198,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17305,6 +18220,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17326,6 +18242,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17347,6 +18264,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17368,6 +18286,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17389,6 +18308,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17407,6 +18327,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17422,6 +18343,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17437,6 +18359,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17452,6 +18375,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17467,6 +18391,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17482,6 +18407,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17497,6 +18423,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17512,6 +18439,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17527,6 +18455,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17542,6 +18471,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17557,6 +18487,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17572,6 +18503,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17587,6 +18519,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17602,6 +18535,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17617,6 +18551,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17632,6 +18567,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17647,6 +18583,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17662,6 +18599,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17677,6 +18615,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17692,6 +18631,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17707,6 +18647,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17722,6 +18663,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17737,6 +18679,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17752,6 +18695,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17767,6 +18711,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17782,6 +18727,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17797,6 +18743,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17812,6 +18759,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17827,6 +18775,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17842,6 +18791,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17857,6 +18807,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17872,6 +18823,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17887,6 +18839,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17902,6 +18855,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17917,6 +18871,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17932,6 +18887,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17947,6 +18903,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -17962,6 +18919,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17977,6 +18935,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -17992,6 +18951,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18007,6 +18967,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18022,6 +18983,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18037,6 +18999,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18052,6 +19015,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18067,6 +19031,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18082,6 +19047,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18097,6 +19063,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18112,6 +19079,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18127,6 +19095,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18142,6 +19111,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18157,6 +19127,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18172,6 +19143,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18187,6 +19159,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18202,6 +19175,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18217,6 +19191,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18232,6 +19207,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18247,6 +19223,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18262,6 +19239,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18277,6 +19255,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18292,6 +19271,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18307,6 +19287,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18322,6 +19303,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18337,6 +19319,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18352,6 +19335,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18367,6 +19351,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18382,6 +19367,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18397,6 +19383,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18412,6 +19399,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18427,6 +19415,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18442,6 +19431,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18457,6 +19447,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18472,6 +19463,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18487,6 +19479,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18502,6 +19495,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18517,6 +19511,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18532,6 +19527,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18547,6 +19543,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18562,6 +19559,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18577,6 +19575,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18592,6 +19591,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18607,6 +19607,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18622,6 +19623,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18637,6 +19639,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18652,6 +19655,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18667,6 +19671,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18682,6 +19687,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18697,6 +19703,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18712,6 +19719,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18727,6 +19735,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18742,6 +19751,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18757,6 +19767,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18772,6 +19783,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18787,6 +19799,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18802,6 +19815,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18817,6 +19831,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18832,6 +19847,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18847,6 +19863,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18862,6 +19879,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18877,6 +19895,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18892,6 +19911,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18907,6 +19927,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18922,6 +19943,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18937,6 +19959,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -18952,6 +19975,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18967,6 +19991,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -18984,6 +20009,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19004,6 +20030,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19024,6 +20051,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19044,6 +20072,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19064,6 +20093,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19084,6 +20114,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19104,6 +20135,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19124,6 +20156,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19144,6 +20177,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19164,6 +20198,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19184,6 +20219,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19204,6 +20240,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19224,6 +20261,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19244,6 +20282,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19264,6 +20303,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19284,6 +20324,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19304,6 +20345,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19324,6 +20366,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19344,6 +20387,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19364,6 +20408,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19384,6 +20429,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19404,6 +20450,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19424,6 +20471,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19444,6 +20492,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19464,6 +20513,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19484,6 +20534,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19504,6 +20555,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19524,6 +20576,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19544,6 +20597,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19564,6 +20618,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19584,6 +20639,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19604,6 +20660,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19624,6 +20681,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19644,6 +20702,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19664,6 +20723,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19684,6 +20744,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19704,6 +20765,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19724,6 +20786,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19744,6 +20807,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19764,6 +20828,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19784,6 +20849,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19804,6 +20870,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19824,6 +20891,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19844,6 +20912,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19864,6 +20933,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19884,6 +20954,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19904,6 +20975,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19924,6 +20996,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19944,6 +21017,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -19964,6 +21038,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -19984,6 +21059,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20004,6 +21080,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20024,6 +21101,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20044,6 +21122,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20064,6 +21143,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20084,6 +21164,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20104,6 +21185,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20124,6 +21206,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20144,6 +21227,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20165,6 +21249,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20186,6 +21271,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20207,6 +21293,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20228,6 +21315,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20249,6 +21337,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20270,6 +21359,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20291,6 +21381,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20312,6 +21403,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20333,6 +21425,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20354,6 +21447,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20375,6 +21469,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20396,6 +21491,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20417,6 +21513,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20438,6 +21535,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20459,6 +21557,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20480,6 +21579,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20501,6 +21601,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20522,6 +21623,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20543,6 +21645,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20564,6 +21667,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20585,6 +21689,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20606,6 +21711,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20627,6 +21733,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20648,6 +21755,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20669,6 +21777,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20690,6 +21799,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20711,6 +21821,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20732,6 +21843,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20753,6 +21865,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20773,6 +21886,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20793,6 +21907,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20813,6 +21928,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20833,6 +21949,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20853,6 +21970,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20873,6 +21991,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20893,6 +22012,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20913,6 +22033,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20933,6 +22054,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20953,6 +22075,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -20973,6 +22096,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -20993,6 +22117,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21013,6 +22138,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21033,6 +22159,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21053,6 +22180,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21073,6 +22201,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21093,6 +22222,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -21113,6 +22243,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21133,6 +22264,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21153,6 +22285,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21173,6 +22306,7 @@ "linux", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -21193,6 +22327,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21213,6 +22348,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21233,6 +22369,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21253,6 +22390,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21273,6 +22411,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21293,6 +22432,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21313,6 +22453,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21333,6 +22474,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21353,6 +22495,7 @@ "linux", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21374,6 +22517,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21395,6 +22539,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21416,6 +22561,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -21437,6 +22583,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -21458,6 +22605,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -21479,6 +22627,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -21500,6 +22649,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -21521,6 +22671,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -21542,6 +22693,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -21563,6 +22715,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21584,6 +22737,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -21605,6 +22759,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21626,6 +22781,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21647,6 +22803,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21668,6 +22825,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21689,6 +22847,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21710,6 +22869,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -21731,6 +22891,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21752,6 +22913,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21773,6 +22935,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21794,6 +22957,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -21815,6 +22979,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21836,6 +23001,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21857,6 +23023,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21878,6 +23045,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21899,6 +23067,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21920,6 +23089,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21941,6 +23111,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21962,6 +23133,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -21983,6 +23155,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22003,6 +23176,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22022,6 +23196,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22041,6 +23216,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22060,6 +23236,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22079,6 +23256,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22098,6 +23276,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22117,6 +23296,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22136,6 +23316,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22155,6 +23336,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22174,6 +23356,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22193,6 +23376,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22212,6 +23396,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22231,6 +23416,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22250,6 +23436,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22269,6 +23456,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22288,6 +23476,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22307,6 +23496,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22326,6 +23516,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22345,6 +23536,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22364,6 +23556,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22383,6 +23576,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22402,6 +23596,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22421,6 +23616,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22440,6 +23636,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22459,6 +23656,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22478,6 +23676,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22497,6 +23696,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22516,6 +23716,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22535,6 +23736,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22554,6 +23756,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22573,6 +23776,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22592,6 +23796,7 @@ "mac", "posix" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22611,6 +23816,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22630,6 +23836,7 @@ "mac", "posix" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22647,6 +23854,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22662,6 +23870,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22677,6 +23886,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22692,6 +23902,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22707,6 +23918,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22722,6 +23934,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22737,6 +23950,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22752,6 +23966,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22767,6 +23982,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22782,6 +23998,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22797,6 +24014,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22812,6 +24030,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22827,6 +24046,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22842,6 +24062,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22857,6 +24078,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22872,6 +24094,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22887,6 +24110,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22902,6 +24126,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22917,6 +24142,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22932,6 +24158,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -22947,6 +24174,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22962,6 +24190,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22977,6 +24206,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -22992,6 +24222,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -23007,6 +24238,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -23022,6 +24254,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -23037,6 +24270,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -23052,6 +24286,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -23067,6 +24302,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -23082,6 +24318,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -23097,6 +24334,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -23112,6 +24350,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 0.1, "exclude_configs": [], "flaky": false, "language": "c", @@ -23127,6 +24366,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", @@ -23142,6 +24382,7 @@ "ci_platforms": [ "linux" ], + "cpu_cost": 1.0, "exclude_configs": [], "flaky": false, "language": "c", diff --git a/vsprojects/buildtests_c.sln b/vsprojects/buildtests_c.sln index 06e882ee95bff3eb8558b9ee703edf655196e959..d8ecdea288902d60247ee6229b4481266e32124e 100644 --- a/vsprojects/buildtests_c.sln +++ b/vsprojects/buildtests_c.sln @@ -75,6 +75,17 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_tcp_server", "vcxproj\ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bad_client_test", "vcxproj\test/bad_client\bad_client_test\bad_client_test.vcxproj", "{BA67B418-B699-E41A-9CC4-0279C49481A5}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "end2end_tests", "vcxproj\test/end2end/tests\end2end_tests\end2end_tests.vcxproj", "{1F1F9084-2A93-B80E-364F-5754894AFAB4}" ProjectSection(myProperties) = preProject lib = "True" @@ -103,17 +114,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "end2end_certs", "vcxproj\te lib = "True" EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bad_client_test", "vcxproj\test/bad_client\bad_client_test\bad_client_test.vcxproj", "{BA67B418-B699-E41A-9CC4-0279C49481A5}" - ProjectSection(myProperties) = preProject - lib = "True" - EndProjectSection - ProjectSection(ProjectDependencies) = postProject - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} - {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} - {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "algorithm_test", "vcxproj\test\algorithm_test\algorithm_test.vcxproj", "{216FDCB2-9D93-0D86-F0F1-12E16312A191}" ProjectSection(myProperties) = preProject lib = "False" @@ -848,6 +848,17 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sockaddr_utils_test", "vcxp {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tag_set_test", "vcxproj\test\tag_set_test\tag_set_test.vcxproj", "{430F8F07-6AAD-0150-B35B-DB9E2E21941A}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection + ProjectSection(ProjectDependencies) = postProject + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} + {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "time_averaged_stats_test", "vcxproj\test\time_averaged_stats_test\time_averaged_stats_test.vcxproj", "{D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}" ProjectSection(myProperties) = preProject lib = "False" @@ -936,111 +947,103 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uri_parser_test", "vcxproj\ {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_census_test", "vcxproj\test/end2end/fixtures\h2_census_test\h2_census_test.vcxproj", "{9E4180B0-81ED-7305-333F-653CE9AB819B}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "badreq_bad_client_test", "vcxproj\test\badreq_bad_client_test\badreq_bad_client_test.vcxproj", "{8A811C28-E04E-A444-E4C1-7588DF5B90AE}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_compress_test", "vcxproj\test/end2end/fixtures\h2_compress_test\h2_compress_test.vcxproj", "{C7E516E9-B80F-4BC1-A617-095FC6E14BC9}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "connection_prefix_bad_client_test", "vcxproj\test\connection_prefix_bad_client_test\connection_prefix_bad_client_test.vcxproj", "{AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_fakesec_test", "vcxproj\test/end2end/fixtures\h2_fakesec_test\h2_fakesec_test.vcxproj", "{0E980562-3AA0-91B1-C590-85C9A899BE44}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "headers_bad_client_test", "vcxproj\test\headers_bad_client_test\headers_bad_client_test.vcxproj", "{7819A11E-607E-F0C0-FC47-C704CF7D818C}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full_test", "vcxproj\test/end2end/fixtures\h2_full_test\h2_full_test.vcxproj", "{EEBEFA75-C625-C823-FE96-9AD64887B57D}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "initial_settings_frame_bad_client_test", "vcxproj\test\initial_settings_frame_bad_client_test\initial_settings_frame_bad_client_test.vcxproj", "{6756895E-05BF-8CC7-58F2-868DF0C0300C}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_oauth2_test", "vcxproj\test/end2end/fixtures\h2_oauth2_test\h2_oauth2_test.vcxproj", "{0F761FF3-342A-C429-711F-F76181BAA52D}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server_registered_method_bad_client_test", "vcxproj\test\server_registered_method_bad_client_test\server_registered_method_bad_client_test.vcxproj", "{B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_proxy_test", "vcxproj\test/end2end/fixtures\h2_proxy_test\h2_proxy_test.vcxproj", "{5753B14F-0C69-2E56-6264-5541B2DCDF67}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_request_bad_client_test", "vcxproj\test\simple_request_bad_client_test\simple_request_bad_client_test.vcxproj", "{63422647-93FA-46BB-4827-95473D9D503C}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_test", "vcxproj\test/end2end/fixtures\h2_sockpair_test\h2_sockpair_test.vcxproj", "{67458AF8-A122-7740-F195-C2E74A106FAB}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unknown_frame_bad_client_test", "vcxproj\test\unknown_frame_bad_client_test\unknown_frame_bad_client_test.vcxproj", "{9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair+trace_test", "vcxproj\test/end2end/fixtures\h2_sockpair+trace_test\h2_sockpair+trace_test.vcxproj", "{82878169-5A89-FD1E-31A6-E9F07BB92418}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "window_overflow_bad_client_test", "vcxproj\test\window_overflow_bad_client_test\window_overflow_bad_client_test.vcxproj", "{658D7F7F-9628-6545-743C-D949301DC5DC}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} - {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} - {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} - {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} + {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} + {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_1byte_test", "vcxproj\test/end2end/fixtures\h2_sockpair_1byte_test\h2_sockpair_1byte_test.vcxproj", "{03A65361-E139-5344-1868-8E8FC269C6E6}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_census_test", "vcxproj\test/end2end/fixtures\h2_census_test\h2_census_test.vcxproj", "{9E4180B0-81ED-7305-333F-653CE9AB819B}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection @@ -1053,7 +1056,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_1byte_test", "v {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_test", "vcxproj\test/end2end/fixtures\h2_ssl_test\h2_ssl_test.vcxproj", "{EA78D290-4098-FF04-C647-013F6B81E4E7}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_compress_test", "vcxproj\test/end2end/fixtures\h2_compress_test\h2_compress_test.vcxproj", "{C7E516E9-B80F-4BC1-A617-095FC6E14BC9}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection @@ -1066,7 +1069,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_test", "vcxproj\test {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_proxy_test", "vcxproj\test/end2end/fixtures\h2_ssl_proxy_test\h2_ssl_proxy_test.vcxproj", "{A9092608-E45E-AC96-6533-A6E7DD98211D}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_fakesec_test", "vcxproj\test/end2end/fixtures\h2_fakesec_test\h2_fakesec_test.vcxproj", "{0E980562-3AA0-91B1-C590-85C9A899BE44}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection @@ -1079,7 +1082,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_proxy_test", "vcxpro {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_uchannel_test", "vcxproj\test/end2end/fixtures\h2_uchannel_test\h2_uchannel_test.vcxproj", "{E39D59C4-F5CB-7D68-DA6B-C6BC93843435}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full_test", "vcxproj\test/end2end/fixtures\h2_full_test\h2_full_test.vcxproj", "{EEBEFA75-C625-C823-FE96-9AD64887B57D}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection @@ -1092,192 +1095,200 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_uchannel_test", "vcxproj {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_census_nosec_test", "vcxproj\test/end2end/fixtures\h2_census_nosec_test\h2_census_nosec_test.vcxproj", "{A8039D43-910E-4248-2A22-74366E8C4DCD}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_oauth2_test", "vcxproj\test/end2end/fixtures\h2_oauth2_test\h2_oauth2_test.vcxproj", "{0F761FF3-342A-C429-711F-F76181BAA52D}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_compress_nosec_test", "vcxproj\test/end2end/fixtures\h2_compress_nosec_test\h2_compress_nosec_test.vcxproj", "{42826C1F-DCF0-918E-D247-0376DC1EFD50}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_proxy_test", "vcxproj\test/end2end/fixtures\h2_proxy_test\h2_proxy_test.vcxproj", "{5753B14F-0C69-2E56-6264-5541B2DCDF67}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full_nosec_test", "vcxproj\test/end2end/fixtures\h2_full_nosec_test\h2_full_nosec_test.vcxproj", "{345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_test", "vcxproj\test/end2end/fixtures\h2_sockpair_test\h2_sockpair_test.vcxproj", "{67458AF8-A122-7740-F195-C2E74A106FAB}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_proxy_nosec_test", "vcxproj\test/end2end/fixtures\h2_proxy_nosec_test\h2_proxy_nosec_test.vcxproj", "{6EC72045-98CB-8A8D-9788-BC94209E23C8}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair+trace_test", "vcxproj\test/end2end/fixtures\h2_sockpair+trace_test\h2_sockpair+trace_test.vcxproj", "{82878169-5A89-FD1E-31A6-E9F07BB92418}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair_nosec_test\h2_sockpair_nosec_test.vcxproj", "{B3F26242-A43D-4F77-A84C-0F478741A061}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_1byte_test", "vcxproj\test/end2end/fixtures\h2_sockpair_1byte_test\h2_sockpair_1byte_test.vcxproj", "{03A65361-E139-5344-1868-8E8FC269C6E6}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair+trace_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair+trace_nosec_test\h2_sockpair+trace_nosec_test.vcxproj", "{962380E0-1C06-8917-8F7F-1A02E0E93BE7}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_test", "vcxproj\test/end2end/fixtures\h2_ssl_test\h2_ssl_test.vcxproj", "{EA78D290-4098-FF04-C647-013F6B81E4E7}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_1byte_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair_1byte_nosec_test\h2_sockpair_1byte_nosec_test.vcxproj", "{485E6713-487D-F274-BDE7-5D29300C93FE}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_ssl_proxy_test", "vcxproj\test/end2end/fixtures\h2_ssl_proxy_test\h2_ssl_proxy_test.vcxproj", "{A9092608-E45E-AC96-6533-A6E7DD98211D}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_uchannel_nosec_test", "vcxproj\test/end2end/fixtures\h2_uchannel_nosec_test\h2_uchannel_nosec_test.vcxproj", "{BD79A629-4181-DB5E-C28F-44EB280A6F91}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_uchannel_test", "vcxproj\test/end2end/fixtures\h2_uchannel_test\h2_uchannel_test.vcxproj", "{E39D59C4-F5CB-7D68-DA6B-C6BC93843435}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} - {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} - {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} + {1F1F9084-2A93-B80E-364F-5754894AFAB4} = {1F1F9084-2A93-B80E-364F-5754894AFAB4} + {80EA2691-C037-6DD3-D3AB-21510BF0E64B} = {80EA2691-C037-6DD3-D3AB-21510BF0E64B} + {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} = {17BCAFC0-5FDC-4C94-AEB9-95F3E220614B} + {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "badreq_bad_client_test", "vcxproj\test\badreq_bad_client_test\badreq_bad_client_test.vcxproj", "{8A811C28-E04E-A444-E4C1-7588DF5B90AE}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_census_nosec_test", "vcxproj\test/end2end/fixtures\h2_census_nosec_test\h2_census_nosec_test.vcxproj", "{A8039D43-910E-4248-2A22-74366E8C4DCD}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "connection_prefix_bad_client_test", "vcxproj\test\connection_prefix_bad_client_test\connection_prefix_bad_client_test.vcxproj", "{AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_compress_nosec_test", "vcxproj\test/end2end/fixtures\h2_compress_nosec_test\h2_compress_nosec_test.vcxproj", "{42826C1F-DCF0-918E-D247-0376DC1EFD50}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "headers_bad_client_test", "vcxproj\test\headers_bad_client_test\headers_bad_client_test.vcxproj", "{7819A11E-607E-F0C0-FC47-C704CF7D818C}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_full_nosec_test", "vcxproj\test/end2end/fixtures\h2_full_nosec_test\h2_full_nosec_test.vcxproj", "{345EA50E-BCD4-DAC7-E1C8-DDA6291B75E2}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "initial_settings_frame_bad_client_test", "vcxproj\test\initial_settings_frame_bad_client_test\initial_settings_frame_bad_client_test.vcxproj", "{6756895E-05BF-8CC7-58F2-868DF0C0300C}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_proxy_nosec_test", "vcxproj\test/end2end/fixtures\h2_proxy_nosec_test\h2_proxy_nosec_test.vcxproj", "{6EC72045-98CB-8A8D-9788-BC94209E23C8}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server_registered_method_bad_client_test", "vcxproj\test\server_registered_method_bad_client_test\server_registered_method_bad_client_test.vcxproj", "{B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair_nosec_test\h2_sockpair_nosec_test.vcxproj", "{B3F26242-A43D-4F77-A84C-0F478741A061}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_request_bad_client_test", "vcxproj\test\simple_request_bad_client_test\simple_request_bad_client_test.vcxproj", "{63422647-93FA-46BB-4827-95473D9D503C}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair+trace_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair+trace_nosec_test\h2_sockpair+trace_nosec_test.vcxproj", "{962380E0-1C06-8917-8F7F-1A02E0E93BE7}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unknown_frame_bad_client_test", "vcxproj\test\unknown_frame_bad_client_test\unknown_frame_bad_client_test.vcxproj", "{9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_sockpair_1byte_nosec_test", "vcxproj\test/end2end/fixtures\h2_sockpair_1byte_nosec_test\h2_sockpair_1byte_nosec_test.vcxproj", "{485E6713-487D-F274-BDE7-5D29300C93FE}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "window_overflow_bad_client_test", "vcxproj\test\window_overflow_bad_client_test\window_overflow_bad_client_test.vcxproj", "{658D7F7F-9628-6545-743C-D949301DC5DC}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h2_uchannel_nosec_test", "vcxproj\test/end2end/fixtures\h2_uchannel_nosec_test\h2_uchannel_nosec_test.vcxproj", "{BD79A629-4181-DB5E-C28F-44EB280A6F91}" ProjectSection(myProperties) = preProject lib = "False" EndProjectSection ProjectSection(ProjectDependencies) = postProject - {BA67B418-B699-E41A-9CC4-0279C49481A5} = {BA67B418-B699-E41A-9CC4-0279C49481A5} + {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} = {47C2CB41-4E9F-58B6-F606-F6FAED5D00ED} {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} = {0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF} {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} @@ -1424,6 +1435,22 @@ Global {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release-DLL|Win32.Build.0 = Release|Win32 {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release-DLL|x64.ActiveCfg = Release|x64 {E3110C46-A148-FF65-08FD-3324829BE7FE}.Release-DLL|x64.Build.0 = Release|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|Win32.ActiveCfg = Debug|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|x64.ActiveCfg = Debug|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|Win32.ActiveCfg = Release|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|x64.ActiveCfg = Release|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|Win32.Build.0 = Debug|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|x64.Build.0 = Debug|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|Win32.Build.0 = Release|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|x64.Build.0 = Release|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|x64.Build.0 = Debug|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|Win32.Build.0 = Release|Win32 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|x64.ActiveCfg = Release|x64 + {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|x64.Build.0 = Release|x64 {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug|Win32.ActiveCfg = Debug|Win32 {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Debug|x64.ActiveCfg = Debug|x64 {1F1F9084-2A93-B80E-364F-5754894AFAB4}.Release|Win32.ActiveCfg = Release|Win32 @@ -1472,22 +1499,6 @@ Global {80EA2691-C037-6DD3-D3AB-21510BF0E64B}.Release-DLL|Win32.Build.0 = Release|Win32 {80EA2691-C037-6DD3-D3AB-21510BF0E64B}.Release-DLL|x64.ActiveCfg = Release|x64 {80EA2691-C037-6DD3-D3AB-21510BF0E64B}.Release-DLL|x64.Build.0 = Release|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|Win32.ActiveCfg = Debug|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|x64.ActiveCfg = Debug|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|Win32.ActiveCfg = Release|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|x64.ActiveCfg = Release|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|Win32.Build.0 = Debug|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug|x64.Build.0 = Debug|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|Win32.Build.0 = Release|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release|x64.Build.0 = Release|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Debug-DLL|x64.Build.0 = Debug|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|Win32.Build.0 = Release|Win32 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|x64.ActiveCfg = Release|x64 - {BA67B418-B699-E41A-9CC4-0279C49481A5}.Release-DLL|x64.Build.0 = Release|x64 {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug|Win32.ActiveCfg = Debug|Win32 {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Debug|x64.ActiveCfg = Debug|x64 {216FDCB2-9D93-0D86-F0F1-12E16312A191}.Release|Win32.ActiveCfg = Release|Win32 @@ -2624,6 +2635,22 @@ Global {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release-DLL|Win32.Build.0 = Release|Win32 {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release-DLL|x64.ActiveCfg = Release|x64 {529771F0-10B0-9B1A-1E7E-8A8E01870348}.Release-DLL|x64.Build.0 = Release|x64 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Debug|Win32.ActiveCfg = Debug|Win32 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Debug|x64.ActiveCfg = Debug|x64 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Release|Win32.ActiveCfg = Release|Win32 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Release|x64.ActiveCfg = Release|x64 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Debug|Win32.Build.0 = Debug|Win32 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Debug|x64.Build.0 = Debug|x64 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Release|Win32.Build.0 = Release|Win32 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Release|x64.Build.0 = Release|x64 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Debug-DLL|x64.Build.0 = Debug|x64 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Release-DLL|Win32.Build.0 = Release|Win32 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Release-DLL|x64.ActiveCfg = Release|x64 + {430F8F07-6AAD-0150-B35B-DB9E2E21941A}.Release-DLL|x64.Build.0 = Release|x64 {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug|Win32.ActiveCfg = Debug|Win32 {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Debug|x64.ActiveCfg = Debug|x64 {D1EB2A9B-8508-62D7-8FC4-11A11B1CBFD3}.Release|Win32.ActiveCfg = Release|Win32 @@ -2752,6 +2779,134 @@ Global {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release-DLL|Win32.Build.0 = Release|Win32 {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release-DLL|x64.ActiveCfg = Release|x64 {E35C24A0-8725-E773-FE78-CC0C67071EF7}.Release-DLL|x64.Build.0 = Release|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|Win32.ActiveCfg = Debug|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|x64.ActiveCfg = Debug|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|Win32.ActiveCfg = Release|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|x64.ActiveCfg = Release|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|Win32.Build.0 = Debug|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|x64.Build.0 = Debug|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|Win32.Build.0 = Release|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|x64.Build.0 = Release|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|x64.Build.0 = Debug|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|Win32.Build.0 = Release|Win32 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|x64.ActiveCfg = Release|x64 + {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|x64.Build.0 = Release|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|Win32.ActiveCfg = Debug|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|x64.ActiveCfg = Debug|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|Win32.ActiveCfg = Release|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|x64.ActiveCfg = Release|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|Win32.Build.0 = Debug|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|x64.Build.0 = Debug|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|Win32.Build.0 = Release|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|x64.Build.0 = Release|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|x64.Build.0 = Debug|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|Win32.Build.0 = Release|Win32 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|x64.ActiveCfg = Release|x64 + {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|x64.Build.0 = Release|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|Win32.ActiveCfg = Debug|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|x64.ActiveCfg = Debug|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|Win32.ActiveCfg = Release|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|x64.ActiveCfg = Release|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|Win32.Build.0 = Debug|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|x64.Build.0 = Debug|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|Win32.Build.0 = Release|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|x64.Build.0 = Release|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|x64.Build.0 = Debug|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|Win32.Build.0 = Release|Win32 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|x64.ActiveCfg = Release|x64 + {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|x64.Build.0 = Release|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|Win32.ActiveCfg = Debug|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|x64.ActiveCfg = Debug|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|Win32.ActiveCfg = Release|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|x64.ActiveCfg = Release|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|Win32.Build.0 = Debug|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|x64.Build.0 = Debug|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|Win32.Build.0 = Release|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|x64.Build.0 = Release|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|x64.Build.0 = Debug|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|Win32.Build.0 = Release|Win32 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|x64.ActiveCfg = Release|x64 + {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|x64.Build.0 = Release|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|Win32.ActiveCfg = Debug|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|x64.ActiveCfg = Debug|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|Win32.ActiveCfg = Release|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|x64.ActiveCfg = Release|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|Win32.Build.0 = Debug|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|x64.Build.0 = Debug|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|Win32.Build.0 = Release|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|x64.Build.0 = Release|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|x64.Build.0 = Debug|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|Win32.Build.0 = Release|Win32 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|x64.ActiveCfg = Release|x64 + {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|x64.Build.0 = Release|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug|Win32.ActiveCfg = Debug|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug|x64.ActiveCfg = Debug|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Release|Win32.ActiveCfg = Release|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Release|x64.ActiveCfg = Release|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug|Win32.Build.0 = Debug|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug|x64.Build.0 = Debug|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Release|Win32.Build.0 = Release|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Release|x64.Build.0 = Release|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|x64.Build.0 = Debug|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|Win32.Build.0 = Release|Win32 + {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|x64.ActiveCfg = Release|x64 + {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|x64.Build.0 = Release|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|Win32.ActiveCfg = Debug|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|x64.ActiveCfg = Debug|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|Win32.ActiveCfg = Release|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|x64.ActiveCfg = Release|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|Win32.Build.0 = Debug|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|x64.Build.0 = Debug|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|Win32.Build.0 = Release|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|x64.Build.0 = Release|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|x64.Build.0 = Debug|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|Win32.Build.0 = Release|Win32 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|x64.ActiveCfg = Release|x64 + {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|x64.Build.0 = Release|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|Win32.ActiveCfg = Debug|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|x64.ActiveCfg = Debug|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|Win32.ActiveCfg = Release|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|x64.ActiveCfg = Release|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|Win32.Build.0 = Debug|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|x64.Build.0 = Debug|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|Win32.Build.0 = Release|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|x64.Build.0 = Release|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|x64.Build.0 = Debug|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|Win32.Build.0 = Release|Win32 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|x64.ActiveCfg = Release|x64 + {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|x64.Build.0 = Release|x64 {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug|Win32.ActiveCfg = Debug|Win32 {9E4180B0-81ED-7305-333F-653CE9AB819B}.Debug|x64.ActiveCfg = Debug|x64 {9E4180B0-81ED-7305-333F-653CE9AB819B}.Release|Win32.ActiveCfg = Release|Win32 @@ -3072,134 +3227,6 @@ Global {BD79A629-4181-DB5E-C28F-44EB280A6F91}.Release-DLL|Win32.Build.0 = Release|Win32 {BD79A629-4181-DB5E-C28F-44EB280A6F91}.Release-DLL|x64.ActiveCfg = Release|x64 {BD79A629-4181-DB5E-C28F-44EB280A6F91}.Release-DLL|x64.Build.0 = Release|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|Win32.ActiveCfg = Debug|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|x64.ActiveCfg = Debug|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|Win32.ActiveCfg = Release|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|x64.ActiveCfg = Release|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|Win32.Build.0 = Debug|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug|x64.Build.0 = Debug|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|Win32.Build.0 = Release|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release|x64.Build.0 = Release|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Debug-DLL|x64.Build.0 = Debug|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|Win32.Build.0 = Release|Win32 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|x64.ActiveCfg = Release|x64 - {8A811C28-E04E-A444-E4C1-7588DF5B90AE}.Release-DLL|x64.Build.0 = Release|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|Win32.ActiveCfg = Debug|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|x64.ActiveCfg = Debug|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|Win32.ActiveCfg = Release|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|x64.ActiveCfg = Release|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|Win32.Build.0 = Debug|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug|x64.Build.0 = Debug|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|Win32.Build.0 = Release|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release|x64.Build.0 = Release|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Debug-DLL|x64.Build.0 = Debug|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|Win32.Build.0 = Release|Win32 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|x64.ActiveCfg = Release|x64 - {AF9D0EB2-2A53-B815-3A63-E82C7F91DB29}.Release-DLL|x64.Build.0 = Release|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|Win32.ActiveCfg = Debug|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|x64.ActiveCfg = Debug|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|Win32.ActiveCfg = Release|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|x64.ActiveCfg = Release|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|Win32.Build.0 = Debug|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug|x64.Build.0 = Debug|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|Win32.Build.0 = Release|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release|x64.Build.0 = Release|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Debug-DLL|x64.Build.0 = Debug|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|Win32.Build.0 = Release|Win32 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|x64.ActiveCfg = Release|x64 - {7819A11E-607E-F0C0-FC47-C704CF7D818C}.Release-DLL|x64.Build.0 = Release|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|Win32.ActiveCfg = Debug|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|x64.ActiveCfg = Debug|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|Win32.ActiveCfg = Release|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|x64.ActiveCfg = Release|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|Win32.Build.0 = Debug|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug|x64.Build.0 = Debug|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|Win32.Build.0 = Release|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release|x64.Build.0 = Release|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Debug-DLL|x64.Build.0 = Debug|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|Win32.Build.0 = Release|Win32 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|x64.ActiveCfg = Release|x64 - {6756895E-05BF-8CC7-58F2-868DF0C0300C}.Release-DLL|x64.Build.0 = Release|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|Win32.ActiveCfg = Debug|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|x64.ActiveCfg = Debug|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|Win32.ActiveCfg = Release|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|x64.ActiveCfg = Release|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|Win32.Build.0 = Debug|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug|x64.Build.0 = Debug|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|Win32.Build.0 = Release|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release|x64.Build.0 = Release|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Debug-DLL|x64.Build.0 = Debug|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|Win32.Build.0 = Release|Win32 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|x64.ActiveCfg = Release|x64 - {B4E7CD82-988A-BD3A-29F8-8590D3A8BC28}.Release-DLL|x64.Build.0 = Release|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug|Win32.ActiveCfg = Debug|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug|x64.ActiveCfg = Debug|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Release|Win32.ActiveCfg = Release|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Release|x64.ActiveCfg = Release|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug|Win32.Build.0 = Debug|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug|x64.Build.0 = Debug|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Release|Win32.Build.0 = Release|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Release|x64.Build.0 = Release|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Debug-DLL|x64.Build.0 = Debug|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|Win32.Build.0 = Release|Win32 - {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|x64.ActiveCfg = Release|x64 - {63422647-93FA-46BB-4827-95473D9D503C}.Release-DLL|x64.Build.0 = Release|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|Win32.ActiveCfg = Debug|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|x64.ActiveCfg = Debug|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|Win32.ActiveCfg = Release|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|x64.ActiveCfg = Release|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|Win32.Build.0 = Debug|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug|x64.Build.0 = Debug|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|Win32.Build.0 = Release|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release|x64.Build.0 = Release|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Debug-DLL|x64.Build.0 = Debug|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|Win32.Build.0 = Release|Win32 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|x64.ActiveCfg = Release|x64 - {9E0A2239-20D5-DB2D-CA0D-69F24E3416E7}.Release-DLL|x64.Build.0 = Release|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|Win32.ActiveCfg = Debug|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|x64.ActiveCfg = Debug|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|Win32.ActiveCfg = Release|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|x64.ActiveCfg = Release|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|Win32.Build.0 = Debug|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug|x64.Build.0 = Debug|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|Win32.Build.0 = Release|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release|x64.Build.0 = Release|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|Win32.Build.0 = Debug|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|x64.ActiveCfg = Debug|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Debug-DLL|x64.Build.0 = Debug|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|Win32.ActiveCfg = Release|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|Win32.Build.0 = Release|Win32 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|x64.ActiveCfg = Release|x64 - {658D7F7F-9628-6545-743C-D949301DC5DC}.Release-DLL|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/vsprojects/grpc.sln b/vsprojects/grpc.sln index 823cc99747c076d5cdc8cfb7cab77c3167c7caf6..4919641a2b88c952255694228d25e8c69b49c56a 100644 --- a/vsprojects/grpc.sln +++ b/vsprojects/grpc.sln @@ -98,6 +98,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boringssl", "vcxproj\.\bori lib = "True" EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "z", "vcxproj\.\z\z.vcxproj", "{FBADE9E3-6A3F-36D3-D676-C1B808451DD7}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gen_hpack_tables", "vcxproj\.\gen_hpack_tables\gen_hpack_tables.vcxproj", "{FCDEA4C7-7F26-05DB-D08F-A08F499026E6}" ProjectSection(myProperties) = preProject lib = "False" @@ -344,6 +349,22 @@ Global {9FD9A3EF-C4A3-8390-D8F4-6F86C22A58CE}.Release-DLL|Win32.Build.0 = Release|Win32 {9FD9A3EF-C4A3-8390-D8F4-6F86C22A58CE}.Release-DLL|x64.ActiveCfg = Release|x64 {9FD9A3EF-C4A3-8390-D8F4-6F86C22A58CE}.Release-DLL|x64.Build.0 = Release|x64 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Debug|Win32.ActiveCfg = Debug|Win32 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Debug|x64.ActiveCfg = Debug|x64 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Release|Win32.ActiveCfg = Release|Win32 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Release|x64.ActiveCfg = Release|x64 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Debug|Win32.Build.0 = Debug|Win32 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Debug|x64.Build.0 = Debug|x64 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Release|Win32.Build.0 = Release|Win32 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Release|x64.Build.0 = Release|x64 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Debug-DLL|Win32.ActiveCfg = Debug|Win32 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Debug-DLL|Win32.Build.0 = Debug|Win32 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Debug-DLL|x64.ActiveCfg = Debug|x64 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Debug-DLL|x64.Build.0 = Debug|x64 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Release-DLL|Win32.ActiveCfg = Release|Win32 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Release-DLL|Win32.Build.0 = Release|Win32 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Release-DLL|x64.ActiveCfg = Release|x64 + {FBADE9E3-6A3F-36D3-D676-C1B808451DD7}.Release-DLL|x64.Build.0 = Release|x64 {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug|Win32.ActiveCfg = Debug|Win32 {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Debug|x64.ActiveCfg = Debug|x64 {FCDEA4C7-7F26-05DB-D08F-A08F499026E6}.Release|Win32.ActiveCfg = Release|Win32 diff --git a/vsprojects/nuget_package/.gitignore b/vsprojects/nuget_package/.gitignore deleted file mode 100644 index ae830da1b219d6fc7a7bcc2f5ac175ab9218efc3..0000000000000000000000000000000000000000 --- a/vsprojects/nuget_package/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/tmp -/output -*.nupkg diff --git a/vsprojects/nuget_package/README.md b/vsprojects/nuget_package/README.md deleted file mode 100644 index 58573f76d4638d075def0ee61d88ff30d265a3eb..0000000000000000000000000000000000000000 --- a/vsprojects/nuget_package/README.md +++ /dev/null @@ -1,23 +0,0 @@ -gRPC Native Nuget package -========================= - -Prerequisites -------------- -Multiple versions of VS installed to be able to build all the targets: -* Visual Studio 2015 -* Visual Studio 2013 -* Visual Studio 2010 (you might need SP1 to prevent LNK1123 error) - -NuGet binary - -Building the package --------------------- - -Build all flavors of gRPC C# extension and package them as a NuGet package. -``` -buildall.bat - -nuget pack grpc.native.csharp.nuspec -``` - -When building the NuGet package, ignore the "Assembly outside lib folder" warnings (they DLLs are not assemblies, they are native libraries). diff --git a/vsprojects/nuget_package/buildall.bat b/vsprojects/nuget_package/buildall.bat deleted file mode 100644 index e6cd0ac421da40d3f61482648e6eae120c96f221..0000000000000000000000000000000000000000 --- a/vsprojects/nuget_package/buildall.bat +++ /dev/null @@ -1,31 +0,0 @@ -@echo off - -setlocal -call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64 -call :build x64 Release v140 || goto :eof -call :build x64 Debug v140 || goto :eof -endlocal - -setlocal -call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 -call :build Win32 Release v140 || goto :eof -call :build Win32 Debug v140 || goto :eof -endlocal - -setlocal -call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" amd64 -call :build x64 Release v120 || goto :eof -call :build x64 Debug v120 || goto :eof -endlocal - -setlocal -call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86 -call :build Win32 Release v120 || goto :eof -call :build Win32 Debug v120 || goto :eof -endlocal - -goto :eof - -:build -msbuild /P:Platform=%1 /P:Configuration=%2 /P:PlatformToolset=%3 /P:OutDir=..\..\nuget_package\output\%3\%1\%2\ /P:IntDir=..\..\nuget_package\tmp\%3\%1\%2\ ..\grpc_csharp_ext.sln || goto :eof -goto :eof diff --git a/vsprojects/nuget_package/grpc.native.csharp.nuspec b/vsprojects/nuget_package/grpc.native.csharp.nuspec deleted file mode 100644 index 72b9a79d89626d72aff26b5da70e5b2f08c38ba4..0000000000000000000000000000000000000000 --- a/vsprojects/nuget_package/grpc.native.csharp.nuspec +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<package> - <metadata> - <id>grpc.native.csharp</id> - <version>$version$</version> - <authors>Google Inc.</authors> - <owners>grpc-packages</owners> - <licenseUrl>https://github.com/grpc/grpc/blob/master/LICENSE</licenseUrl> - <projectUrl>http://github.com/grpc/grpc</projectUrl> - <requireLicenseAcceptance>false</requireLicenseAcceptance> - <description>Native extension needed by gRPC C# library. This is not the package you are looking for, it is only meant to be used as a dependency.</description> - <releaseNotes>Release of gRPC C core $version$ libraries.</releaseNotes> - <copyright>Copyright 2015</copyright> - <title>gRPC C# Native Extension</title> - <summary>Native library required by gRPC C#</summary> - <tags>gRPC native</tags> - </metadata> - <files> - <file src="grpc.native.csharp.targets" target="\build\portable-net45+netcore45+wpa81+wp8\grpc.native.csharp.targets" /> - - <!-- VS 2013 --> - <file src="output\v120\Win32\Debug\grpc_csharp_ext.dll" target="/build/native/bin/v120\Win32\Debug\grpc_csharp_ext.dll" /> - <file src="output\v120\Win32\Release\grpc_csharp_ext.dll" target="/build/native/bin/v120\Win32\Release\grpc_csharp_ext.dll" /> - <file src="output\v120\x64\Debug\grpc_csharp_ext.dll" target="/build/native/bin/v120\x64\Debug\grpc_csharp_ext.dll" /> - <file src="output\v120\x64\Release\grpc_csharp_ext.dll" target="/build/native/bin/v120\x64\Release\grpc_csharp_ext.dll" /> - <!-- VS 2015 --> - <file src="output\v140\Win32\Debug\grpc_csharp_ext.dll" target="/build/native/bin/v140\Win32\Debug\grpc_csharp_ext.dll" /> - <file src="output\v140\Win32\Release\grpc_csharp_ext.dll" target="/build/native/bin/v140\Win32\Release\grpc_csharp_ext.dll" /> - <file src="output\v140\x64\Debug\grpc_csharp_ext.dll" target="/build/native/bin/v140\x64\Debug\grpc_csharp_ext.dll" /> - <file src="output\v140\x64\Release\grpc_csharp_ext.dll" target="/build/native/bin/v140\x64\Release\grpc_csharp_ext.dll" /> - </files> -</package> diff --git a/vsprojects/nuget_package/grpc.native.csharp.targets b/vsprojects/nuget_package/grpc.native.csharp.targets deleted file mode 100644 index e59215b835ad9cf943a88a2a4d554fcd77c187f9..0000000000000000000000000000000000000000 --- a/vsprojects/nuget_package/grpc.native.csharp.targets +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <PropertyGroup> - <!-- - Whether or not to copy native dependencies to output directory as part of build. - If not explicitly specified in the project file, this defaults to true on Windows - and false on Unix systems. - --> - <CopyNativeDependencies Condition=" '$(CopyNativeDependencies)' == '' And '$(OS)' != 'Unix' ">true</CopyNativeDependencies> - <CopyNativeDependencies Condition=" '$(CopyNativeDependencies)' == '' And '$(OS)' == 'Unix' ">false</CopyNativeDependencies> - - <!-- - Select which platform toolset of native dependencies to use based on VS version (v120 is the default). - Value can be explicitly specified in the project file. - --> - <NativeDependenciesToolset Condition=" '$(NativeDependenciesToolset)' == '' And '$(VisualStudioVersion)' == '14.0' ">v140</NativeDependenciesToolset> - <NativeDependenciesToolset Condition=" '$(NativeDependenciesToolset)' == '' And '$(VisualStudioVersion)' == '10.0' ">v100</NativeDependenciesToolset> - <NativeDependenciesToolset Condition=" '$(NativeDependenciesToolset)' == '' ">v120</NativeDependenciesToolset> - - <!-- Select which platform of native dependencies to use. Value can be explicitly specified in the project file. --> - <NativeDependenciesPlatform Condition=" '$(NativeDependenciesPlatform)' == '' ">Win32</NativeDependenciesPlatform> - - <!-- - Select which configuration of native dependencies to use. Uses release build if project configuration is Release, - otherwise defaults to Debug. Value can be explicitly specified in the project file. - --> - <NativeDependenciesConfiguration Condition=" '$(NativeDependenciesConfiguration)' == '' And '$(Configuration)' == 'Release' ">Release</NativeDependenciesConfiguration> - <NativeDependenciesConfiguration Condition=" '$(NativeDependenciesConfiguration)' == '' ">Debug</NativeDependenciesConfiguration> - </PropertyGroup> - <Choose> - <!-- Under older versions of Monodevelop, Choose is not supported and is just ignored, which gives us the desired effect. --> - <When Condition=" '$(CopyNativeDependencies)' == 'true' "> - <ItemGroup> - <Content Include="$(MSBuildThisFileDirectory)..\..\build\native\bin\$(NativeDependenciesToolset)\$(NativeDependenciesPlatform)\$(NativeDependenciesConfiguration)\grpc_csharp_ext.dll"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </Content> - </ItemGroup> - </When> - <Otherwise /> - </Choose> -</Project> \ No newline at end of file diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj b/vsprojects/vcxproj/grpc/grpc.vcxproj index 8d6800e9d30f939d61325bf6f992b74cf4189c6c..438667a4d9b3eae40be3d451bf5d8c6755b43476 100644 --- a/vsprojects/vcxproj/grpc/grpc.vcxproj +++ b/vsprojects/vcxproj/grpc/grpc.vcxproj @@ -708,6 +708,8 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\census\operation.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\census\tag_set.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\census\tracing.c"> </ClCompile> </ItemGroup> diff --git a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters index f29f881595155696fbe87cddd74a5e33f925a590..90395cadda858a54ec33890464feff26e33b12c0 100644 --- a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters +++ b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters @@ -451,6 +451,9 @@ <ClCompile Include="$(SolutionDir)\..\src\core\census\operation.c"> <Filter>src\core\census</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\census\tag_set.c"> + <Filter>src\core\census</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\census\tracing.c"> <Filter>src\core\census</Filter> </ClCompile> diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj index 78ffe148e51fe4728fae0f2a35290a34b805e834..014e67f4619483bf5d77cfdaa648abfde13ea15c 100644 --- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj +++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj @@ -644,6 +644,8 @@ </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\census\operation.c"> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\census\tag_set.c"> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\census\tracing.c"> </ClCompile> </ItemGroup> diff --git a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters index e068c3fe182ed55c4703f9a7d26ab0b5bca0c414..4f8a77d4b20fd01f7cde5d2cab4c8d200b95bcd9 100644 --- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters @@ -391,6 +391,9 @@ <ClCompile Include="$(SolutionDir)\..\src\core\census\operation.c"> <Filter>src\core\census</Filter> </ClCompile> + <ClCompile Include="$(SolutionDir)\..\src\core\census\tag_set.c"> + <Filter>src\core\census</Filter> + </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\core\census\tracing.c"> <Filter>src\core\census</Filter> </ClCompile> diff --git a/vsprojects/vcxproj/qps/qps.vcxproj b/vsprojects/vcxproj/qps/qps.vcxproj index 0b017e71c1f087f36353611901b7a51c5f94e633..7df2597b609080f6388d3087096bc8c1952597fb 100644 --- a/vsprojects/vcxproj/qps/qps.vcxproj +++ b/vsprojects/vcxproj/qps/qps.vcxproj @@ -168,14 +168,6 @@ </ClCompile> <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\messages.grpc.pb.h"> </ClInclude> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.pb.cc"> - </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\control.pb.h"> - </ClInclude> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.grpc.pb.cc"> - </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\control.grpc.pb.h"> - </ClInclude> <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\payloads.pb.cc"> </ClCompile> <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\payloads.pb.h"> @@ -184,14 +176,6 @@ </ClCompile> <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\payloads.grpc.pb.h"> </ClInclude> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\services.pb.cc"> - </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\services.pb.h"> - </ClInclude> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\services.grpc.pb.cc"> - </ClCompile> - <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\services.grpc.pb.h"> - </ClInclude> <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.pb.cc"> </ClCompile> <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.pb.h"> @@ -200,6 +184,22 @@ </ClCompile> <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.grpc.pb.h"> </ClInclude> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.pb.cc"> + </ClCompile> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\control.pb.h"> + </ClInclude> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.grpc.pb.cc"> + </ClCompile> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\control.grpc.pb.h"> + </ClInclude> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\services.pb.cc"> + </ClCompile> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\services.pb.h"> + </ClInclude> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\services.grpc.pb.cc"> + </ClCompile> + <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\services.grpc.pb.h"> + </ClInclude> <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.pb.cc"> </ClCompile> <ClInclude Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.pb.h"> diff --git a/vsprojects/vcxproj/qps/qps.vcxproj.filters b/vsprojects/vcxproj/qps/qps.vcxproj.filters index f575eae6ca44b6003138b373ff70a3ca56a955cf..14e18e2d72fbf7f7bde8ff4047df98d601ee64ca 100644 --- a/vsprojects/vcxproj/qps/qps.vcxproj.filters +++ b/vsprojects/vcxproj/qps/qps.vcxproj.filters @@ -4,16 +4,16 @@ <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\messages.proto"> <Filter>src\proto\grpc\testing</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.proto"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\payloads.proto"> <Filter>src\proto\grpc\testing</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\payloads.proto"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.proto"> <Filter>src\proto\grpc\testing</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\services.proto"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\control.proto"> <Filter>src\proto\grpc\testing</Filter> </ClCompile> - <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\stats.proto"> + <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\services.proto"> <Filter>src\proto\grpc\testing</Filter> </ClCompile> <ClCompile Include="$(SolutionDir)\..\src\proto\grpc\testing\perf_db.proto"> diff --git a/vsprojects/vcxproj/test/tag_set_test/tag_set_test.vcxproj b/vsprojects/vcxproj/test/tag_set_test/tag_set_test.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..9a468af3adc3dd2d6a15fb2cfa8c6539799bf6d8 --- /dev/null +++ b/vsprojects/vcxproj/test/tag_set_test/tag_set_test.vcxproj @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\1.0.204.1.props')" /> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{430F8F07-6AAD-0150-B35B-DB9E2E21941A}</ProjectGuid> + <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> + <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> + <PlatformToolset>v100</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> + <PlatformToolset>v140</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\openssl.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\zlib.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)'=='Debug'"> + <TargetName>tag_set_test</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Debug</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Debug</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'"> + <TargetName>tag_set_test</TargetName> + <Linkage-grpc_dependencies_zlib>static</Linkage-grpc_dependencies_zlib> + <Configuration-grpc_dependencies_zlib>Release</Configuration-grpc_dependencies_zlib> + <Linkage-grpc_dependencies_openssl>static</Linkage-grpc_dependencies_openssl> + <Configuration-grpc_dependencies_openssl>Release</Configuration-grpc_dependencies_openssl> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\core\census\tag_set_test.c"> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc_test_util\grpc_test_util.vcxproj"> + <Project>{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\grpc\grpc.vcxproj"> + <Project>{29D16885-7228-4C31-81ED-5F9187C7F2A9}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr_test_util\gpr_test_util.vcxproj"> + <Project>{EAB0A629-17A9-44DB-B5FF-E91A721FE037}</Project> + </ProjectReference> + <ProjectReference Include="$(SolutionDir)\..\vsprojects\vcxproj\.\gpr\gpr.vcxproj"> + <Project>{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}</Project> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <None Include="packages.config" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies\grpc.dependencies.zlib.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + <Import Project="$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets" Condition="Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies\grpc.dependencies.openssl.targets')" /> + </ImportGroup> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.redist.1.2.8.10\build\native\grpc.dependencies.zlib.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.zlib.1.2.8.10\build\native\grpc.dependencies.zlib.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.redist.1.0.204.1\build\native\grpc.dependencies.openssl.redist.targets')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.props')" /> + <Error Condition="!Exists('$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\..\vsprojects\packages\grpc.dependencies.openssl.1.0.204.1\build\native\grpc.dependencies.openssl.targets')" /> + </Target> +</Project> + diff --git a/vsprojects/vcxproj/test/tag_set_test/tag_set_test.vcxproj.filters b/vsprojects/vcxproj/test/tag_set_test/tag_set_test.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..6b315322519d9b2d21d06b546b18759b2387ddba --- /dev/null +++ b/vsprojects/vcxproj/test/tag_set_test/tag_set_test.vcxproj.filters @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\test\core\census\tag_set_test.c"> + <Filter>test\core\census</Filter> + </ClCompile> + </ItemGroup> + + <ItemGroup> + <Filter Include="test"> + <UniqueIdentifier>{500aa440-5924-8047-996a-4c5096d1ef96}</UniqueIdentifier> + </Filter> + <Filter Include="test\core"> + <UniqueIdentifier>{a3bf80f0-5b13-f623-277b-05f0231dd933}</UniqueIdentifier> + </Filter> + <Filter Include="test\core\census"> + <UniqueIdentifier>{b6ed1b86-7795-4da9-a169-9eccf836852c}</UniqueIdentifier> + </Filter> + </ItemGroup> +</Project> + diff --git a/vsprojects/vcxproj/z/z.vcxproj b/vsprojects/vcxproj/z/z.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..4505dfadb2d1d7824df253df50732658f1f34497 --- /dev/null +++ b/vsprojects/vcxproj/z/z.vcxproj @@ -0,0 +1,203 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{FBADE9E3-6A3F-36D3-D676-C1B808451DD7}</ProjectGuid> + <IgnoreWarnIntDirInTempDetected>true</IgnoreWarnIntDirInTempDetected> + <IntDir>$(SolutionDir)IntDir\$(MSBuildProjectName)\</IntDir> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '10.0'" Label="Configuration"> + <PlatformToolset>v100</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '11.0'" Label="Configuration"> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '12.0'" Label="Configuration"> + <PlatformToolset>v120</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(VisualStudioVersion)' == '14.0'" Label="Configuration"> + <PlatformToolset>v140</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(SolutionDir)\..\vsprojects\global.props" /> + <Import Project="$(SolutionDir)\..\vsprojects\winsock.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)'=='Debug'"> + <TargetName>z</TargetName> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)'=='Release'"> + <TargetName>z</TargetName> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <TreatWarningAsError>true</TreatWarningAsError> + <DebugInformationFormat Condition="$(Jenkins)">None</DebugInformationFormat> + <MinimalRebuild Condition="$(Jenkins)">false</MinimalRebuild> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation Condition="!$(Jenkins)">true</GenerateDebugInformation> + <GenerateDebugInformation Condition="$(Jenkins)">false</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + + <ItemGroup> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\crc32.h" /> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\deflate.h" /> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\gzguts.h" /> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\inffast.h" /> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\inffixed.h" /> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\inflate.h" /> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\inftrees.h" /> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\trees.h" /> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\zconf.h" /> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\zlib.h" /> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\zutil.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\adler32.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\compress.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\crc32.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\deflate.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\gzclose.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\gzlib.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\gzread.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\gzwrite.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\infback.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\inffast.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\inflate.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\inftrees.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\trees.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\uncompr.c"> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\zutil.c"> + </ClCompile> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> + <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> + <PropertyGroup> + <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> + </PropertyGroup> + </Target> +</Project> + diff --git a/vsprojects/vcxproj/z/z.vcxproj.filters b/vsprojects/vcxproj/z/z.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..4aea144f6111aaddd9859306a921c55ad657e48b --- /dev/null +++ b/vsprojects/vcxproj/z/z.vcxproj.filters @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\adler32.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\compress.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\crc32.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\deflate.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\gzclose.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\gzlib.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\gzread.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\gzwrite.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\infback.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\inffast.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\inflate.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\inftrees.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\trees.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\uncompr.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + <ClCompile Include="$(SolutionDir)\..\third_party\zlib\zutil.c"> + <Filter>third_party\zlib</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\crc32.h"> + <Filter>third_party\zlib</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\deflate.h"> + <Filter>third_party\zlib</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\gzguts.h"> + <Filter>third_party\zlib</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\inffast.h"> + <Filter>third_party\zlib</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\inffixed.h"> + <Filter>third_party\zlib</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\inflate.h"> + <Filter>third_party\zlib</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\inftrees.h"> + <Filter>third_party\zlib</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\trees.h"> + <Filter>third_party\zlib</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\zconf.h"> + <Filter>third_party\zlib</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\zlib.h"> + <Filter>third_party\zlib</Filter> + </ClInclude> + <ClInclude Include="$(SolutionDir)\..\third_party\zlib\zutil.h"> + <Filter>third_party\zlib</Filter> + </ClInclude> + </ItemGroup> + + <ItemGroup> + <Filter Include="third_party"> + <UniqueIdentifier>{ec647746-5bc0-66f4-80c6-a5dbd9f9db6f}</UniqueIdentifier> + </Filter> + <Filter Include="third_party\zlib"> + <UniqueIdentifier>{3c4d2d48-67ef-199d-360e-79e7f5cad175}</UniqueIdentifier> + </Filter> + </ItemGroup> +</Project> +