aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--BUILD9
-rw-r--r--Makefile1044
-rw-r--r--binding.gyp1
-rw-r--r--build.yaml140
-rw-r--r--doc/interop-test-descriptions.md8
-rw-r--r--examples/csharp/helloworld/.nuget/packages.config2
-rw-r--r--examples/csharp/helloworld/Greeter/Greeter.csproj25
-rw-r--r--examples/csharp/helloworld/Greeter/packages.config10
-rw-r--r--examples/csharp/helloworld/GreeterClient/GreeterClient.csproj25
-rw-r--r--examples/csharp/helloworld/GreeterClient/Program.cs4
-rw-r--r--examples/csharp/helloworld/GreeterClient/packages.config10
-rw-r--r--examples/csharp/helloworld/GreeterServer/GreeterServer.csproj25
-rw-r--r--examples/csharp/helloworld/GreeterServer/packages.config10
-rw-r--r--examples/csharp/helloworld/generate_protos.bat2
-rw-r--r--examples/csharp/route_guide/.nuget/packages.config2
-rw-r--r--examples/csharp/route_guide/RouteGuide/RouteGuide.csproj25
-rw-r--r--examples/csharp/route_guide/RouteGuide/packages.config10
-rw-r--r--examples/csharp/route_guide/RouteGuideClient/Program.cs4
-rw-r--r--examples/csharp/route_guide/RouteGuideClient/RouteGuideClient.csproj25
-rw-r--r--examples/csharp/route_guide/RouteGuideClient/packages.config10
-rw-r--r--examples/csharp/route_guide/RouteGuideServer/RouteGuideServer.csproj25
-rw-r--r--examples/csharp/route_guide/RouteGuideServer/packages.config10
-rw-r--r--examples/csharp/route_guide/generate_protos.bat2
-rw-r--r--examples/objective-c/auth_sample/MakeRPCViewController.m4
-rw-r--r--gRPC.podspec1
-rwxr-xr-xgrpc.gemspec1
-rw-r--r--include/grpc/census.h174
-rw-r--r--package.json1
-rw-r--r--setup.py9
-rwxr-xr-xsrc/boringssl/gen_build_yaml.py3
-rw-r--r--src/compiler/csharp_generator.cc6
-rw-r--r--src/compiler/python_generator.cc265
-rw-r--r--src/compiler/python_generator.h3
-rw-r--r--src/compiler/python_plugin.cc3
-rw-r--r--src/core/census/tag_set.c535
-rw-r--r--src/core/iomgr/pollset_multipoller_with_epoll.c2
-rw-r--r--src/core/support/cpu_posix.c4
-rw-r--r--src/core/transport/chttp2/timeout_encoding.c17
-rw-r--r--src/csharp/Grpc.Auth/Grpc.Auth.csproj2
-rw-r--r--src/csharp/Grpc.Core.Tests/Grpc.Core.Tests.csproj2
-rw-r--r--src/csharp/Grpc.Core.Tests/PInvokeTest.cs16
-rw-r--r--src/csharp/Grpc.Core/Grpc.Core.csproj25
-rw-r--r--src/csharp/Grpc.Core/GrpcEnvironment.cs18
-rw-r--r--src/csharp/Grpc.Core/Internal/BatchContextSafeHandle.cs70
-rw-r--r--src/csharp/Grpc.Core/Internal/CStringSafeHandle.cs7
-rw-r--r--src/csharp/Grpc.Core/Internal/CallCredentialsSafeHandle.cs12
-rw-r--r--src/csharp/Grpc.Core/Internal/CallSafeHandle.cs95
-rw-r--r--src/csharp/Grpc.Core/Internal/ChannelArgsSafeHandle.cs22
-rw-r--r--src/csharp/Grpc.Core/Internal/ChannelCredentialsSafeHandle.cs19
-rw-r--r--src/csharp/Grpc.Core/Internal/ChannelSafeHandle.cs38
-rw-r--r--src/csharp/Grpc.Core/Internal/CompletionQueueEvent.cs7
-rw-r--r--src/csharp/Grpc.Core/Internal/CompletionQueueSafeHandle.cs29
-rw-r--r--src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs37
-rw-r--r--src/csharp/Grpc.Core/Internal/NativeExtension.cs158
-rw-r--r--src/csharp/Grpc.Core/Internal/NativeLogRedirector.cs9
-rw-r--r--src/csharp/Grpc.Core/Internal/NativeMetadataCredentialsPlugin.cs17
-rw-r--r--src/csharp/Grpc.Core/Internal/NativeMethods.cs816
-rw-r--r--src/csharp/Grpc.Core/Internal/PlatformApis.cs110
-rw-r--r--src/csharp/Grpc.Core/Internal/ServerCredentialsSafeHandle.cs18
-rw-r--r--src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs42
-rw-r--r--src/csharp/Grpc.Core/Internal/Timespec.cs30
-rw-r--r--src/csharp/Grpc.Core/Internal/UnmanagedLibrary.cs158
-rw-r--r--src/csharp/Grpc.Core/NativeDeps.Linux.targets9
-rw-r--r--src/csharp/Grpc.Core/NativeDeps.Mac.targets9
-rw-r--r--src/csharp/Grpc.Core/NativeDeps.Windows.targets9
-rw-r--r--src/csharp/Grpc.Core/NativeDeps.targets28
-rw-r--r--src/csharp/Grpc.Examples.MathClient/Grpc.Examples.MathClient.csproj2
-rw-r--r--src/csharp/Grpc.Examples.MathServer/Grpc.Examples.MathServer.csproj2
-rw-r--r--src/csharp/Grpc.Examples.Tests/Grpc.Examples.Tests.csproj4
-rw-r--r--src/csharp/Grpc.Examples.Tests/packages.config2
-rw-r--r--src/csharp/Grpc.Examples/Grpc.Examples.csproj6
-rw-r--r--src/csharp/Grpc.Examples/Math.cs96
-rw-r--r--src/csharp/Grpc.Examples/MathGrpc.cs2
-rw-r--r--src/csharp/Grpc.Examples/packages.config2
-rw-r--r--src/csharp/Grpc.HealthCheck.Tests/Grpc.HealthCheck.Tests.csproj4
-rw-r--r--src/csharp/Grpc.HealthCheck.Tests/packages.config2
-rw-r--r--src/csharp/Grpc.HealthCheck/Grpc.HealthCheck.csproj6
-rw-r--r--src/csharp/Grpc.HealthCheck/Health.cs73
-rw-r--r--src/csharp/Grpc.HealthCheck/HealthGrpc.cs2
-rw-r--r--src/csharp/Grpc.HealthCheck/packages.config2
-rw-r--r--src/csharp/Grpc.IntegrationTesting.Client/Grpc.IntegrationTesting.Client.csproj2
-rw-r--r--src/csharp/Grpc.IntegrationTesting.QpsWorker/Grpc.IntegrationTesting.QpsWorker.csproj2
-rw-r--r--src/csharp/Grpc.IntegrationTesting.Server/Grpc.IntegrationTesting.Server.csproj2
-rw-r--r--src/csharp/Grpc.IntegrationTesting/Control.cs285
-rw-r--r--src/csharp/Grpc.IntegrationTesting/Empty.cs60
-rw-r--r--src/csharp/Grpc.IntegrationTesting/Grpc.IntegrationTesting.csproj9
-rw-r--r--src/csharp/Grpc.IntegrationTesting/Messages.cs279
-rw-r--r--src/csharp/Grpc.IntegrationTesting/Payloads.cs66
-rw-r--r--src/csharp/Grpc.IntegrationTesting/Services.cs34
-rw-r--r--src/csharp/Grpc.IntegrationTesting/ServicesGrpc.cs6
-rw-r--r--src/csharp/Grpc.IntegrationTesting/Stats.cs97
-rw-r--r--src/csharp/Grpc.IntegrationTesting/Test.cs53
-rw-r--r--src/csharp/Grpc.IntegrationTesting/TestGrpc.cs8
-rw-r--r--src/csharp/Grpc.IntegrationTesting/packages.config3
-rw-r--r--src/csharp/build_packages.bat39
-rw-r--r--src/csharp/buildall.bat4
-rwxr-xr-xsrc/csharp/generate_proto_csharp.sh2
-rw-r--r--src/csharp/grpc.native.csharp/README.md22
-rw-r--r--src/csharp/grpc.native.csharp/grpc.native.csharp.nuspec27
-rw-r--r--src/csharp/grpc.native.csharp/grpc.native.csharp.targets29
-rw-r--r--src/csharp/keys/Grpc.snkbin0 -> 596 bytes
-rw-r--r--src/csharp/keys/README.md6
-rw-r--r--src/objective-c/ProtoRPC/ProtoMethod.m4
-rw-r--r--src/objective-c/examples/Sample/Sample/ViewController.m4
-rw-r--r--src/objective-c/examples/SwiftSample/ViewController.swift2
-rw-r--r--src/objective-c/tests/InteropTestsRemote.m4
-rwxr-xr-xsrc/php/ext/grpc/config.m466
-rw-r--r--src/php/ext/grpc/package.xml11
-rw-r--r--src/php/ext/grpc/tests/grpc-basic.phpt10
-rw-r--r--src/python/grpcio/commands.py16
-rw-r--r--src/python/grpcio/grpc/framework/core/_termination.py6
-rw-r--r--src/python/grpcio/grpc_core_dependencies.py1
-rw-r--r--src/python/grpcio/tests/unit/_cython/_channel_test.py83
-rw-r--r--src/python/grpcio/tests/unit/framework/common/test_constants.py5
-rw-r--r--src/python/grpcio/tests/unit/framework/interfaces/face/_future_invocation_asynchronous_event_service.py20
-rw-r--r--src/ruby/README.md30
-rwxr-xr-xsrc/zlib/gen_build_yaml.py67
-rw-r--r--templates/BUILD.template5
-rw-r--r--templates/Makefile.template153
-rw-r--r--templates/tools/run_tests/configs.json.template17
-rw-r--r--templates/tools/run_tests/sources_and_headers.json.template2
-rw-r--r--templates/tools/run_tests/tests.json.template3
-rw-r--r--templates/vsprojects/buildtests_c.sln.template2
-rwxr-xr-xtest/core/bad_client/gen_build_yaml.py13
-rwxr-xr-xtest/core/bad_ssl/gen_build_yaml.py11
-rw-r--r--test/core/census/tag_set_test.c374
-rwxr-xr-xtest/core/end2end/gen_build_yaml.py36
-rw-r--r--test/core/fling/client.c9
-rw-r--r--test/core/support/avl_test.c19
-rw-r--r--test/core/transport/chttp2/timeout_encoding_test.c7
-rw-r--r--test/cpp/qps/client.h2
-rw-r--r--test/cpp/qps/qps_driver.cc7
-rw-r--r--test/cpp/qps/qps_worker.cc13
-rw-r--r--test/cpp/qps/qps_worker.h4
-rw-r--r--test/cpp/qps/worker.cc5
m---------third_party/protobuf0
-rwxr-xr-xtools/buildgen/build-cleaner.py3
-rwxr-xr-xtools/buildgen/bunch.py5
-rw-r--r--tools/buildgen/generate_build_additions.sh11
-rwxr-xr-xtools/buildgen/generate_projects.py4
-rwxr-xr-xtools/buildgen/plugins/expand_bin_attrs.py4
-rwxr-xr-xtools/distrib/check_copyright.py5
-rw-r--r--tools/doxygen/Doxyfile.core.internal1
-rwxr-xr-xtools/jenkins/build_and_run_docker.sh79
-rwxr-xr-xtools/jenkins/build_artifacts.sh39
-rwxr-xr-xtools/jenkins/build_docker_and_run_tests.sh1
-rwxr-xr-xtools/jenkins/build_interop_image.sh3
-rwxr-xr-xtools/jenkins/docker_run.sh41
-rw-r--r--tools/jenkins/grpc_artifact_linux_x64/Dockerfile64
-rw-r--r--tools/jenkins/grpc_artifact_linux_x86/Dockerfile64
-rwxr-xr-xtools/jenkins/grpc_interop_csharp/build_interop.sh4
-rw-r--r--tools/jenkins/grpc_jenkins_slave/Dockerfile9
-rw-r--r--tools/jenkins/grpc_jenkins_slave_32bits/Dockerfile9
-rwxr-xr-xtools/jenkins/run_jenkins.sh11
-rw-r--r--tools/run_tests/build_artifact_csharp.bat12
-rwxr-xr-xtools/run_tests/build_artifact_csharp.sh38
-rwxr-xr-xtools/run_tests/build_artifacts.py237
-rwxr-xr-xtools/run_tests/build_csharp.sh5
-rwxr-xr-xtools/run_tests/build_php.sh8
-rwxr-xr-xtools/run_tests/check_cache_mk.sh39
-rwxr-xr-xtools/run_tests/check_submodules.sh (renamed from tools/run_tests/run_sanity.sh)11
-rw-r--r--tools/run_tests/configs.json67
-rwxr-xr-xtools/run_tests/jobset.py42
-rwxr-xr-xtools/run_tests/post_tests_php.sh46
-rwxr-xr-xtools/run_tests/run_csharp.sh5
-rwxr-xr-xtools/run_tests/run_interop_tests.py4
-rwxr-xr-xtools/run_tests/run_tests.py117
-rw-r--r--tools/run_tests/sanity_tests.yaml9
-rw-r--r--tools/run_tests/sources_and_headers.json440
-rw-r--r--tools/run_tests/tests.json2093
-rw-r--r--vsprojects/buildtests_c.sln521
-rw-r--r--vsprojects/grpc.sln21
-rw-r--r--vsprojects/nuget_package/.gitignore3
-rw-r--r--vsprojects/nuget_package/README.md23
-rw-r--r--vsprojects/nuget_package/buildall.bat31
-rw-r--r--vsprojects/nuget_package/grpc.native.csharp.nuspec32
-rw-r--r--vsprojects/nuget_package/grpc.native.csharp.targets41
-rw-r--r--vsprojects/vcxproj/grpc/grpc.vcxproj2
-rw-r--r--vsprojects/vcxproj/grpc/grpc.vcxproj.filters3
-rw-r--r--vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj2
-rw-r--r--vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters3
-rw-r--r--vsprojects/vcxproj/qps/qps.vcxproj32
-rw-r--r--vsprojects/vcxproj/qps/qps.vcxproj.filters8
-rw-r--r--vsprojects/vcxproj/test/tag_set_test/tag_set_test.vcxproj199
-rw-r--r--vsprojects/vcxproj/test/tag_set_test/tag_set_test.vcxproj.filters21
-rw-r--r--vsprojects/vcxproj/z/z.vcxproj203
-rw-r--r--vsprojects/vcxproj/z/z.vcxproj.filters95
188 files changed, 8210 insertions, 3082 deletions
diff --git a/.gitignore b/.gitignore
index 471649d7a0..cc70659661 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 d08d4b8528..08cb66ce64 100644
--- a/BUILD
+++ b/BUILD
@@ -420,6 +420,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 = [
@@ -440,6 +441,9 @@ cc_library(
"//external:zlib",
":gpr",
],
+ copts = [
+ "-std=gnu99",
+ ],
)
@@ -694,6 +698,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 = [
@@ -711,6 +716,9 @@ cc_library(
deps = [
":gpr",
],
+ copts = [
+ "-std=gnu99",
+ ],
)
@@ -1230,6 +1238,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 9cfa97f476..9e5dbae397 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"
@@ -2459,6 +2484,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 += \
@@ -2763,6 +2789,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 += \
@@ -3600,10 +3627,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 \
@@ -3659,16 +3686,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 = \
@@ -5441,6 +5468,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 \
@@ -5614,82 +5756,6 @@ endif
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
-
-
# All of the test targets, and protoc plugins
@@ -8286,6 +8352,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 \
@@ -11689,6 +11787,294 @@ endif
+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)/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) $(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/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_badreq_bad_client_test: $(BADREQ_BAD_CLIENT_TEST_OBJS:.o=.dep)
+
+ifneq ($(NO_DEPS),true)
+-include $(BADREQ_BAD_CLIENT_TEST_OBJS:.o=.dep)
+endif
+
+
+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)/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) $(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/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_connection_prefix_bad_client_test: $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS:.o=.dep)
+
+ifneq ($(NO_DEPS),true)
+-include $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS:.o=.dep)
+endif
+
+
+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)/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) $(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/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_headers_bad_client_test: $(HEADERS_BAD_CLIENT_TEST_OBJS:.o=.dep)
+
+ifneq ($(NO_DEPS),true)
+-include $(HEADERS_BAD_CLIENT_TEST_OBJS:.o=.dep)
+endif
+
+
+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)/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) $(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/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_initial_settings_frame_bad_client_test: $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep)
+
+ifneq ($(NO_DEPS),true)
+-include $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep)
+endif
+
+
+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)/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) $(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/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_server_registered_method_bad_client_test: $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS:.o=.dep)
+
+ifneq ($(NO_DEPS),true)
+-include $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS:.o=.dep)
+endif
+
+
+SIMPLE_REQUEST_BAD_CLIENT_TEST_SRC = \
+ test/core/bad_client/tests/simple_request.c \
+
+SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SIMPLE_REQUEST_BAD_CLIENT_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
+ $(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)
+
+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) $(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
+
+
+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_DEPS),true)
+-include $(WINDOW_OVERFLOW_BAD_CLIENT_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
+
+
+
+$(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) $(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/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_bad_ssl_alpn_server: $(BAD_SSL_ALPN_SERVER_OBJS:.o=.dep)
+
+ifneq ($(NO_SECURE),true)
+ifneq ($(NO_DEPS),true)
+-include $(BAD_SSL_ALPN_SERVER_OBJS:.o=.dep)
+endif
+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
+
+
+
+$(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) $(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/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_bad_ssl_cert_server: $(BAD_SSL_CERT_SERVER_OBJS:.o=.dep)
+
+ifneq ($(NO_SECURE),true)
+ifneq ($(NO_DEPS),true)
+-include $(BAD_SSL_CERT_SERVER_OBJS:.o=.dep)
+endif
+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
+
+
+
+$(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) $(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/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_bad_ssl_alpn_test: $(BAD_SSL_ALPN_TEST_OBJS:.o=.dep)
+
+ifneq ($(NO_SECURE),true)
+ifneq ($(NO_DEPS),true)
+-include $(BAD_SSL_ALPN_TEST_OBJS:.o=.dep)
+endif
+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
+
+
+
+$(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) $(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/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_bad_ssl_cert_test: $(BAD_SSL_CERT_TEST_OBJS:.o=.dep)
+
+ifneq ($(NO_SECURE),true)
+ifneq ($(NO_DEPS),true)
+-include $(BAD_SSL_CERT_TEST_OBJS:.o=.dep)
+endif
+endif
+
+
H2_CENSUS_TEST_SRC = \
test/core/end2end/fixtures/h2_census.c \
@@ -12525,294 +12911,6 @@ ifneq ($(NO_DEPS),true)
endif
-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)/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) $(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/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_badreq_bad_client_test: $(BADREQ_BAD_CLIENT_TEST_OBJS:.o=.dep)
-
-ifneq ($(NO_DEPS),true)
--include $(BADREQ_BAD_CLIENT_TEST_OBJS:.o=.dep)
-endif
-
-
-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)/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) $(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/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_connection_prefix_bad_client_test: $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS:.o=.dep)
-
-ifneq ($(NO_DEPS),true)
--include $(CONNECTION_PREFIX_BAD_CLIENT_TEST_OBJS:.o=.dep)
-endif
-
-
-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)/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) $(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/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_headers_bad_client_test: $(HEADERS_BAD_CLIENT_TEST_OBJS:.o=.dep)
-
-ifneq ($(NO_DEPS),true)
--include $(HEADERS_BAD_CLIENT_TEST_OBJS:.o=.dep)
-endif
-
-
-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)/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) $(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/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_initial_settings_frame_bad_client_test: $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep)
-
-ifneq ($(NO_DEPS),true)
--include $(INITIAL_SETTINGS_FRAME_BAD_CLIENT_TEST_OBJS:.o=.dep)
-endif
-
-
-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)/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) $(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/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_server_registered_method_bad_client_test: $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS:.o=.dep)
-
-ifneq ($(NO_DEPS),true)
--include $(SERVER_REGISTERED_METHOD_BAD_CLIENT_TEST_OBJS:.o=.dep)
-endif
-
-
-SIMPLE_REQUEST_BAD_CLIENT_TEST_SRC = \
- test/core/bad_client/tests/simple_request.c \
-
-SIMPLE_REQUEST_BAD_CLIENT_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SIMPLE_REQUEST_BAD_CLIENT_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
- $(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)
-
-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) $(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
-
-
-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_DEPS),true)
--include $(WINDOW_OVERFLOW_BAD_CLIENT_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
-
-
-
-$(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) $(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/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_bad_ssl_alpn_server: $(BAD_SSL_ALPN_SERVER_OBJS:.o=.dep)
-
-ifneq ($(NO_SECURE),true)
-ifneq ($(NO_DEPS),true)
--include $(BAD_SSL_ALPN_SERVER_OBJS:.o=.dep)
-endif
-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
-
-
-
-$(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) $(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/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_bad_ssl_cert_server: $(BAD_SSL_CERT_SERVER_OBJS:.o=.dep)
-
-ifneq ($(NO_SECURE),true)
-ifneq ($(NO_DEPS),true)
--include $(BAD_SSL_CERT_SERVER_OBJS:.o=.dep)
-endif
-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
-
-
-
-$(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) $(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/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_bad_ssl_alpn_test: $(BAD_SSL_ALPN_TEST_OBJS:.o=.dep)
-
-ifneq ($(NO_SECURE),true)
-ifneq ($(NO_DEPS),true)
--include $(BAD_SSL_ALPN_TEST_OBJS:.o=.dep)
-endif
-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
-
-
-
-$(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) $(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/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_bad_ssl_cert_test: $(BAD_SSL_CERT_TEST_OBJS:.o=.dep)
-
-ifneq ($(NO_SECURE),true)
-ifneq ($(NO_DEPS),true)
--include $(BAD_SSL_CERT_TEST_OBJS:.o=.dep)
-endif
-endif
-
-
diff --git a/binding.gyp b/binding.gyp
index 8f331c7e9d..51c9cda039 100644
--- a/binding.gyp
+++ b/binding.gyp
@@ -313,6 +313,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 9a675fdc74..21d4ca8fb8 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:
@@ -775,10 +776,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
@@ -924,6 +925,7 @@ targets:
- gpr_test_util
- gpr
- name: dualstack_socket_test
+ cpu_cost: 0.1
build: test
language: c
src:
@@ -998,6 +1000,7 @@ targets:
- gpr_test_util
- gpr
- name: fling_stream_test
+ cpu_cost: 2
build: test
language: c
src:
@@ -1012,6 +1015,7 @@ targets:
- linux
- posix
- name: fling_test
+ cpu_cost: 2
build: test
language: c
src:
@@ -1120,6 +1124,7 @@ targets:
- gpr_test_util
- gpr
- name: gpr_stack_lockfree_test
+ cpu_cost: 10
build: test
language: c
src:
@@ -1136,6 +1141,7 @@ targets:
- gpr_test_util
- gpr
- name: gpr_sync_test
+ cpu_cost: 10
build: test
language: c
src:
@@ -1144,6 +1150,7 @@ targets:
- gpr_test_util
- gpr
- name: gpr_thd_test
+ cpu_cost: 10
build: test
language: c
src:
@@ -1370,6 +1377,7 @@ targets:
- gpr_test_util
- gpr
- name: httpcli_test
+ cpu_cost: 0.5
build: test
language: c
src:
@@ -1384,6 +1392,7 @@ targets:
- linux
- posix
- name: httpscli_test
+ cpu_cost: 0.5
build: test
language: c
src:
@@ -1465,6 +1474,7 @@ targets:
- gpr_test_util
- gpr
- name: lb_policies_test
+ cpu_cost: 0.1
build: test
language: c
src:
@@ -1517,6 +1527,7 @@ targets:
- gpr_test_util
- gpr
- name: no_server_test
+ cpu_cost: 0.1
build: test
language: c
src:
@@ -1577,6 +1588,7 @@ targets:
- gpr_test_util
- gpr
- name: set_initial_connect_string_test
+ cpu_cost: 0.1
build: test
language: c
src:
@@ -1621,7 +1633,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:
@@ -1636,6 +1659,7 @@ targets:
- linux
- posix
- name: tcp_posix_test
+ cpu_cost: 0.5
build: test
language: c
src:
@@ -1865,6 +1889,7 @@ targets:
- gpr_test_util
- gpr
- name: client_crash_test
+ cpu_cost: 0.1
build: test
language: c++
src:
@@ -1943,6 +1968,7 @@ targets:
- gpr_test_util
- gpr
- name: end2end_test
+ cpu_cost: 0.5
build: test
language: c++
src:
@@ -2086,6 +2112,7 @@ targets:
- linux
- posix
- name: interop_test
+ cpu_cost: 0.1
build: test
language: c++
src:
@@ -2177,6 +2204,7 @@ targets:
- linux
- posix
- name: qps_test
+ cpu_cost: 10
build: test
language: c++
src:
@@ -2279,6 +2307,7 @@ targets:
- linux
- posix
- name: server_crash_test
+ cpu_cost: 0.1
build: test
language: c++
src:
@@ -2407,6 +2436,7 @@ targets:
- linux
- posix
- name: thread_stress_test
+ cpu_cost: 100
build: test
language: c++
src:
@@ -2464,6 +2494,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
diff --git a/doc/interop-test-descriptions.md b/doc/interop-test-descriptions.md
index 53cc47b1f8..e618e967ee 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 1c1f118d46..1cbe7e1d65 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 2ae8620267..fa1c20f5ff 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 c0f7387916..cabcadc78f 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 af330f2b90..164a6165ef 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 2749a92036..ffc7fabbf1 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 c0f7387916..cabcadc78f 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 752f32828b..56436d3834 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 c0f7387916..cabcadc78f 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 9a5a9d3ee3..8ba2c2e936 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 1c1f118d46..1cbe7e1d65 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 d8f3c8f91d..3a2a29cfac 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 22d34981e5..8717315102 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 71e58877d7..22395dd21d 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 f08f0ef43a..89e5025df8 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 22d34981e5..8717315102 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 f22b4e5653..2e930625c4 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 22d34981e5..8717315102 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 fb0dc5516b..fad63ef0ae 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 4fd23dc144..108eda45ba 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 0c34ed07c0..4b271502e7 100644
--- a/gRPC.podspec
+++ b/gRPC.podspec
@@ -431,6 +431,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 4f3a3f2dd9..47b66ae535 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 369827d15e..ab0e0e4802 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. */
-void census_tag_set_destroy(census_tag_set *tags);
-
-/* Get a contexts tag set. */
-census_tag_set *census_context_tag_set(census_context *context);
+/* 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)
-/* A read-only representation of a tag for use by census clients. */
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;
+ 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);
-/* Used to iterate through a tag sets contents. */
-typedef struct census_tag_set_iterator census_tag_set_iterator;
+/* 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);
-/* 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 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);
-/* 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);
+/* 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 {
+ 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);
-/* 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);
+/* 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
@@ -424,8 +506,8 @@ extern census_aggregation_ops census_agg_window;
construction via census_define_view(). */
typedef struct {
const census_aggregation_ops *ops;
- const void *
- create_arg; /* Argument to be used for aggregation initialization. */
+ const void
+ *create_arg; /* Argument to be used for aggregation initialization. */
} census_aggregation;
/** A census view type. Opaque. */
diff --git a/package.json b/package.json
index e0bbb7d80f..0b87f6a59d 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 b70fab3398..63b56f3532 100644
--- a/setup.py
+++ b/setup.py
@@ -42,8 +42,8 @@ from setuptools.command import egg_info
# Redirect the manifest template from MANIFEST.in to PYTHON-MANIFEST.in.
egg_info.manifest_maker.template = 'PYTHON-MANIFEST.in'
-PYTHON_STEM = './src/python/grpcio/'
-CORE_INCLUDE = ('./include', './',)
+PYTHON_STEM = './src/python/grpcio'
+CORE_INCLUDE = ('./include', '.',)
BORINGSSL_INCLUDE = ('./third_party/boringssl/include',)
# Ensure we're in the proper directory whether or not we're being used by pip.
@@ -77,7 +77,7 @@ CYTHON_EXTENSION_MODULE_NAMES = ('grpc._cython.cygrpc',)
EXTENSION_INCLUDE_DIRECTORIES = (
(PYTHON_STEM,) + CORE_INCLUDE + BORINGSSL_INCLUDE)
-EXTENSION_LIBRARIES = ()
+EXTENSION_LIBRARIES = ('z', 'm',)
if not "darwin" in sys.platform:
EXTENSION_LIBRARIES += ('rt',)
@@ -120,6 +120,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 424912ba70..b635ee4c13 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 7b497df7f4..f6079bdc05 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/compiler/python_generator.cc b/src/compiler/python_generator.cc
index 83133f2b6e..c754ae299b 100644
--- a/src/compiler/python_generator.cc
+++ b/src/compiler/python_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
@@ -148,91 +148,6 @@ class IndentScope {
// END FORMATTING BOILERPLATE //
////////////////////////////////
-bool PrintAlphaServicer(const ServiceDescriptor* service,
- Printer* out) {
- grpc::string doc = "<fill me in later!>";
- map<grpc::string, grpc::string> dict = ListToDict({
- "Service", service->name(),
- "Documentation", doc,
- });
- out->Print(dict, "class EarlyAdopter$Service$Servicer(object):\n");
- {
- IndentScope raii_class_indent(out);
- out->Print(dict, "\"\"\"$Documentation$\"\"\"\n");
- out->Print("__metaclass__ = abc.ABCMeta\n");
- for (int i = 0; i < service->method_count(); ++i) {
- auto meth = service->method(i);
- grpc::string arg_name = meth->client_streaming() ?
- "request_iterator" : "request";
- out->Print("@abc.abstractmethod\n");
- out->Print("def $Method$(self, $ArgName$, context):\n",
- "Method", meth->name(), "ArgName", arg_name);
- {
- IndentScope raii_method_indent(out);
- out->Print("raise NotImplementedError()\n");
- }
- }
- }
- return true;
-}
-
-bool PrintAlphaServer(const ServiceDescriptor* service, Printer* out) {
- grpc::string doc = "<fill me in later!>";
- map<grpc::string, grpc::string> dict = ListToDict({
- "Service", service->name(),
- "Documentation", doc,
- });
- out->Print(dict, "class EarlyAdopter$Service$Server(object):\n");
- {
- IndentScope raii_class_indent(out);
- out->Print(dict, "\"\"\"$Documentation$\"\"\"\n");
- out->Print("__metaclass__ = abc.ABCMeta\n");
- out->Print("@abc.abstractmethod\n");
- out->Print("def start(self):\n");
- {
- IndentScope raii_method_indent(out);
- out->Print("raise NotImplementedError()\n");
- }
-
- out->Print("@abc.abstractmethod\n");
- out->Print("def stop(self):\n");
- {
- IndentScope raii_method_indent(out);
- out->Print("raise NotImplementedError()\n");
- }
- }
- return true;
-}
-
-bool PrintAlphaStub(const ServiceDescriptor* service,
- Printer* out) {
- grpc::string doc = "<fill me in later!>";
- map<grpc::string, grpc::string> dict = ListToDict({
- "Service", service->name(),
- "Documentation", doc,
- });
- out->Print(dict, "class EarlyAdopter$Service$Stub(object):\n");
- {
- IndentScope raii_class_indent(out);
- out->Print(dict, "\"\"\"$Documentation$\"\"\"\n");
- out->Print("__metaclass__ = abc.ABCMeta\n");
- for (int i = 0; i < service->method_count(); ++i) {
- const MethodDescriptor* meth = service->method(i);
- grpc::string arg_name = meth->client_streaming() ?
- "request_iterator" : "request";
- auto methdict = ListToDict({"Method", meth->name(), "ArgName", arg_name});
- out->Print("@abc.abstractmethod\n");
- out->Print(methdict, "def $Method$(self, $ArgName$):\n");
- {
- IndentScope raii_method_indent(out);
- out->Print("raise NotImplementedError()\n");
- }
- out->Print(methdict, "$Method$.async = None\n");
- }
- }
- return true;
-}
-
// TODO(protobuf team): Export `ModuleName` from protobuf's
// `src/google/protobuf/compiler/python/python_generator.cc` file.
grpc::string ModuleName(const grpc::string& filename) {
@@ -268,172 +183,6 @@ bool GetModuleAndMessagePath(const Descriptor* type,
return true;
}
-bool PrintAlphaServerFactory(const grpc::string& package_qualified_service_name,
- const ServiceDescriptor* service, Printer* out) {
- out->Print("def early_adopter_create_$Service$_server(servicer, port, "
- "private_key=None, certificate_chain=None):\n",
- "Service", service->name());
- {
- IndentScope raii_create_server_indent(out);
- map<grpc::string, grpc::string> method_description_constructors;
- map<grpc::string, pair<grpc::string, grpc::string>>
- input_message_modules_and_classes;
- map<grpc::string, pair<grpc::string, grpc::string>>
- output_message_modules_and_classes;
- for (int i = 0; i < service->method_count(); ++i) {
- const MethodDescriptor* method = service->method(i);
- const grpc::string method_description_constructor =
- grpc::string(method->client_streaming() ? "stream_" : "unary_") +
- grpc::string(method->server_streaming() ? "stream_" : "unary_") +
- "service_description";
- pair<grpc::string, grpc::string> input_message_module_and_class;
- if (!GetModuleAndMessagePath(method->input_type(),
- &input_message_module_and_class)) {
- return false;
- }
- pair<grpc::string, grpc::string> output_message_module_and_class;
- if (!GetModuleAndMessagePath(method->output_type(),
- &output_message_module_and_class)) {
- return false;
- }
- // Import the modules that define the messages used in RPCs.
- out->Print("import $Module$\n", "Module",
- input_message_module_and_class.first);
- out->Print("import $Module$\n", "Module",
- output_message_module_and_class.first);
- method_description_constructors.insert(
- make_pair(method->name(), method_description_constructor));
- input_message_modules_and_classes.insert(
- make_pair(method->name(), input_message_module_and_class));
- output_message_modules_and_classes.insert(
- make_pair(method->name(), output_message_module_and_class));
- }
- out->Print("method_service_descriptions = {\n");
- for (auto name_and_description_constructor =
- method_description_constructors.begin();
- name_and_description_constructor !=
- method_description_constructors.end();
- name_and_description_constructor++) {
- IndentScope raii_descriptions_indent(out);
- const grpc::string method_name = name_and_description_constructor->first;
- auto input_message_module_and_class =
- input_message_modules_and_classes.find(method_name);
- auto output_message_module_and_class =
- output_message_modules_and_classes.find(method_name);
- out->Print("\"$Method$\": alpha_utilities.$Constructor$(\n", "Method",
- method_name, "Constructor",
- name_and_description_constructor->second);
- {
- IndentScope raii_description_arguments_indent(out);
- out->Print("servicer.$Method$,\n", "Method", method_name);
- out->Print(
- "$InputTypeModule$.$InputTypeClass$.FromString,\n",
- "InputTypeModule", input_message_module_and_class->second.first,
- "InputTypeClass", input_message_module_and_class->second.second);
- out->Print(
- "$OutputTypeModule$.$OutputTypeClass$.SerializeToString,\n",
- "OutputTypeModule", output_message_module_and_class->second.first,
- "OutputTypeClass", output_message_module_and_class->second.second);
- }
- out->Print("),\n");
- }
- out->Print("}\n");
- out->Print(
- "return early_adopter_implementations.server("
- "\"$PackageQualifiedServiceName$\","
- " method_service_descriptions, port, private_key=private_key,"
- " certificate_chain=certificate_chain)\n",
- "PackageQualifiedServiceName", package_qualified_service_name);
- }
- return true;
-}
-
-bool PrintAlphaStubFactory(const grpc::string& package_qualified_service_name,
- const ServiceDescriptor* service, Printer* out) {
- map<grpc::string, grpc::string> dict = ListToDict({
- "Service", service->name(),
- });
- out->Print(dict, "def early_adopter_create_$Service$_stub(host, port,"
- " metadata_transformer=None,"
- " secure=False, root_certificates=None, private_key=None,"
- " certificate_chain=None, server_host_override=None):\n");
- {
- IndentScope raii_create_server_indent(out);
- map<grpc::string, grpc::string> method_description_constructors;
- map<grpc::string, pair<grpc::string, grpc::string>>
- input_message_modules_and_classes;
- map<grpc::string, pair<grpc::string, grpc::string>>
- output_message_modules_and_classes;
- for (int i = 0; i < service->method_count(); ++i) {
- const MethodDescriptor* method = service->method(i);
- const grpc::string method_description_constructor =
- grpc::string(method->client_streaming() ? "stream_" : "unary_") +
- grpc::string(method->server_streaming() ? "stream_" : "unary_") +
- "invocation_description";
- pair<grpc::string, grpc::string> input_message_module_and_class;
- if (!GetModuleAndMessagePath(method->input_type(),
- &input_message_module_and_class)) {
- return false;
- }
- pair<grpc::string, grpc::string> output_message_module_and_class;
- if (!GetModuleAndMessagePath(method->output_type(),
- &output_message_module_and_class)) {
- return false;
- }
- // Import the modules that define the messages used in RPCs.
- out->Print("import $Module$\n", "Module",
- input_message_module_and_class.first);
- out->Print("import $Module$\n", "Module",
- output_message_module_and_class.first);
- method_description_constructors.insert(
- make_pair(method->name(), method_description_constructor));
- input_message_modules_and_classes.insert(
- make_pair(method->name(), input_message_module_and_class));
- output_message_modules_and_classes.insert(
- make_pair(method->name(), output_message_module_and_class));
- }
- out->Print("method_invocation_descriptions = {\n");
- for (auto name_and_description_constructor =
- method_description_constructors.begin();
- name_and_description_constructor !=
- method_description_constructors.end();
- name_and_description_constructor++) {
- IndentScope raii_descriptions_indent(out);
- const grpc::string method_name = name_and_description_constructor->first;
- auto input_message_module_and_class =
- input_message_modules_and_classes.find(method_name);
- auto output_message_module_and_class =
- output_message_modules_and_classes.find(method_name);
- out->Print("\"$Method$\": alpha_utilities.$Constructor$(\n", "Method",
- method_name, "Constructor",
- name_and_description_constructor->second);
- {
- IndentScope raii_description_arguments_indent(out);
- out->Print(
- "$InputTypeModule$.$InputTypeClass$.SerializeToString,\n",
- "InputTypeModule", input_message_module_and_class->second.first,
- "InputTypeClass", input_message_module_and_class->second.second);
- out->Print(
- "$OutputTypeModule$.$OutputTypeClass$.FromString,\n",
- "OutputTypeModule", output_message_module_and_class->second.first,
- "OutputTypeClass", output_message_module_and_class->second.second);
- }
- out->Print("),\n");
- }
- out->Print("}\n");
- out->Print(
- "return early_adopter_implementations.stub("
- "\"$PackageQualifiedServiceName$\","
- " method_invocation_descriptions, host, port,"
- " metadata_transformer=metadata_transformer, secure=secure,"
- " root_certificates=root_certificates, private_key=private_key,"
- " certificate_chain=certificate_chain,"
- " server_host_override=server_host_override)\n",
- "PackageQualifiedServiceName", package_qualified_service_name);
- }
- return true;
-}
-
bool PrintBetaServicer(const ServiceDescriptor* service,
Printer* out) {
grpc::string doc = "<fill me in later!>";
@@ -703,9 +452,6 @@ bool PrintPreamble(const FileDescriptor* file,
out->Print("import abc\n");
out->Print("from $Package$ import implementations as beta_implementations\n",
"Package", config.beta_package_root);
- out->Print("from $Package$ import implementations as early_adopter_implementations\n",
- "Package", config.early_adopter_package_root);
- out->Print("from grpc.framework.alpha import utilities as alpha_utilities\n");
out->Print("from grpc.framework.common import cardinality\n");
out->Print("from grpc.framework.interfaces.face import utilities as face_utilities\n");
return true;
@@ -714,7 +460,7 @@ bool PrintPreamble(const FileDescriptor* file,
} // namespace
pair<bool, grpc::string> GetServices(const FileDescriptor* file,
- const GeneratorConfiguration& config) {
+ const GeneratorConfiguration& config) {
grpc::string output;
{
// Scope the output stream so it closes and finalizes output to the string.
@@ -730,12 +476,7 @@ pair<bool, grpc::string> GetServices(const FileDescriptor* file,
for (int i = 0; i < file->service_count(); ++i) {
auto service = file->service(i);
auto package_qualified_service_name = package + service->name();
- if (!(PrintAlphaServicer(service, &out) &&
- PrintAlphaServer(service, &out) &&
- PrintAlphaStub(service, &out) &&
- PrintAlphaServerFactory(package_qualified_service_name, service, &out) &&
- PrintAlphaStubFactory(package_qualified_service_name, service, &out) &&
- PrintBetaServicer(service, &out) &&
+ if (!(PrintBetaServicer(service, &out) &&
PrintBetaStub(service, &out) &&
PrintBetaServerFactory(package_qualified_service_name, service, &out) &&
PrintBetaStubFactory(package_qualified_service_name, service, &out))) {
diff --git a/src/compiler/python_generator.h b/src/compiler/python_generator.h
index 44ed4b3f98..68da18f9ba 100644
--- a/src/compiler/python_generator.h
+++ b/src/compiler/python_generator.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
@@ -43,7 +43,6 @@ namespace grpc_python_generator {
// Data pertaining to configuration of the generator with respect to anything
// that may be used internally at Google.
struct GeneratorConfiguration {
- grpc::string early_adopter_package_root;
grpc::string beta_package_root;
};
diff --git a/src/compiler/python_plugin.cc b/src/compiler/python_plugin.cc
index c7cef54900..d781ddbee5 100644
--- a/src/compiler/python_plugin.cc
+++ b/src/compiler/python_plugin.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
@@ -38,7 +38,6 @@
int main(int argc, char* argv[]) {
grpc_python_generator::GeneratorConfiguration config;
- config.early_adopter_package_root = "grpc.early_adopter";
config.beta_package_root = "grpc.beta";
grpc_python_generator::PythonGrpcGenerator generator(config);
return grpc::protobuf::compiler::PluginMain(argc, argv, &generator);
diff --git a/src/core/census/tag_set.c b/src/core/census/tag_set.c
new file mode 100644
index 0000000000..9b65a1dfa1
--- /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/iomgr/pollset_multipoller_with_epoll.c b/src/core/iomgr/pollset_multipoller_with_epoll.c
index 911d820fc7..d117485327 100644
--- a/src/core/iomgr/pollset_multipoller_with_epoll.c
+++ b/src/core/iomgr/pollset_multipoller_with_epoll.c
@@ -90,8 +90,10 @@ static void remove_epoll_fd_from_global_list(int epoll_fd) {
void grpc_remove_fd_from_all_epoll_sets(int fd) {
int err;
+ gpr_once_init(&init_epoll_fd_list_mu, init_mu);
gpr_mu_lock(&epoll_fd_list_mu);
if (epoll_fd_global_list.count == 0) {
+ gpr_mu_unlock(&epoll_fd_list_mu);
return;
}
for (size_t i = 0; i < epoll_fd_global_list.count; i++) {
diff --git a/src/core/support/cpu_posix.c b/src/core/support/cpu_posix.c
index 5edb87d67f..8f01c284ca 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 8cbf987a42..a6f7081d21 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/csharp/Grpc.Auth/Grpc.Auth.csproj b/src/csharp/Grpc.Auth/Grpc.Auth.csproj
index 55bde6e194..7e106544a7 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 475c792347..8307828193 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.Tests/PInvokeTest.cs b/src/csharp/Grpc.Core.Tests/PInvokeTest.cs
index af55cb0566..da0ea2e6dc 100644
--- a/src/csharp/Grpc.Core.Tests/PInvokeTest.cs
+++ b/src/csharp/Grpc.Core.Tests/PInvokeTest.cs
@@ -1,6 +1,6 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -45,13 +45,9 @@ namespace Grpc.Core.Tests
{
public class PInvokeTest
{
- int counter;
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_test_callback([MarshalAs(UnmanagedType.FunctionPtr)] OpCompletionDelegate callback);
+ static readonly NativeMethods Native = NativeMethods.Get();
- [DllImport("grpc_csharp_ext.dll")]
- static extern IntPtr grpcsharp_test_nop(IntPtr ptr);
+ int counter;
/// <summary>
/// (~1.26us .NET Windows)
@@ -87,7 +83,7 @@ namespace Grpc.Core.Tests
1000000, 10000000,
() =>
{
- grpcsharp_test_callback(handler);
+ Native.grpcsharp_test_callback(handler);
});
Assert.AreNotEqual(0, counter);
}
@@ -106,7 +102,7 @@ namespace Grpc.Core.Tests
10000, 10000,
() =>
{
- grpcsharp_test_callback(new OpCompletionDelegate(Handler));
+ Native.grpcsharp_test_callback(new OpCompletionDelegate(Handler));
});
Assert.AreNotEqual(0, counter);
}
@@ -122,7 +118,7 @@ namespace Grpc.Core.Tests
1000000, 100000000,
() =>
{
- grpcsharp_test_nop(IntPtr.Zero);
+ Native.grpcsharp_test_nop(IntPtr.Zero);
});
}
diff --git a/src/csharp/Grpc.Core/Grpc.Core.csproj b/src/csharp/Grpc.Core/Grpc.Core.csproj
index 852b212114..38398a2afd 100644
--- a/src/csharp/Grpc.Core/Grpc.Core.csproj
+++ b/src/csharp/Grpc.Core/Grpc.Core.csproj
@@ -19,7 +19,6 @@
<DefineConstants>DEBUG;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
- <NativeDependenciesConfiguration>Debug</NativeDependenciesConfiguration>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -27,7 +26,6 @@
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
- <NativeDependenciesConfiguration>Release</NativeDependenciesConfiguration>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseSigned|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -37,8 +35,7 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<SignAssembly>True</SignAssembly>
- <AssemblyOriginatorKeyFile>C:\keys\Grpc.snk</AssemblyOriginatorKeyFile>
- <NativeDependenciesConfiguration>Release</NativeDependenciesConfiguration>
+ <AssemblyOriginatorKeyFile>..\keys\Grpc.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
@@ -52,6 +49,10 @@
<Compile Include="AsyncAuthInterceptor.cs" />
<Compile Include="CallCredentials.cs" />
<Compile Include="IClientStreamWriter.cs" />
+ <Compile Include="Internal\NativeMethods.cs" />
+ <Compile Include="Internal\PlatformApis.cs" />
+ <Compile Include="Internal\NativeExtension.cs" />
+ <Compile Include="Internal\UnmanagedLibrary.cs" />
<Compile Include="Internal\NativeMetadataCredentialsPlugin.cs" />
<Compile Include="Internal\INativeCall.cs" />
<Compile Include="IServerStreamWriter.cs" />
@@ -131,20 +132,6 @@
<None Include="Grpc.Core.nuspec" />
<None Include="packages.config" />
</ItemGroup>
- <Choose>
- <!-- Under older versions of Monodevelop, Choose is not supported and is just
- ignored, which gives us the desired effect. -->
- <When Condition=" '$(OS)' != 'Unix' ">
- <ItemGroup>
- <Content Include="..\..\..\vsprojects\$(NativeDependenciesConfiguration)\grpc_csharp_ext.dll">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
- </ItemGroup>
- </When>
- <Otherwise />
- </Choose>
+ <Import Project="NativeDeps.targets" />
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <ItemGroup />
- <ItemGroup />
- <ItemGroup />
</Project> \ No newline at end of file
diff --git a/src/csharp/Grpc.Core/GrpcEnvironment.cs b/src/csharp/Grpc.Core/GrpcEnvironment.cs
index e7c04185c2..f3aa3d79de 100644
--- a/src/csharp/Grpc.Core/GrpcEnvironment.cs
+++ b/src/csharp/Grpc.Core/GrpcEnvironment.cs
@@ -1,6 +1,6 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -47,15 +47,6 @@ namespace Grpc.Core
{
const int THREAD_POOL_SIZE = 4;
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_init();
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_shutdown();
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern IntPtr grpcsharp_version_string(); // returns not-owned const char*
-
static object staticLock = new object();
static GrpcEnvironment instance;
static int refCount;
@@ -136,7 +127,6 @@ namespace Grpc.Core
/// </summary>
private GrpcEnvironment()
{
- NativeLogRedirector.Redirect();
GrpcNativeInit();
completionRegistry = new CompletionRegistry(this);
threadPool = new GrpcThreadPool(this, THREAD_POOL_SIZE);
@@ -181,18 +171,18 @@ namespace Grpc.Core
/// </summary>
internal static string GetCoreVersionString()
{
- var ptr = grpcsharp_version_string(); // the pointer is not owned
+ var ptr = NativeMethods.Get().grpcsharp_version_string(); // the pointer is not owned
return Marshal.PtrToStringAnsi(ptr);
}
internal static void GrpcNativeInit()
{
- grpcsharp_init();
+ NativeMethods.Get().grpcsharp_init();
}
internal static void GrpcNativeShutdown()
{
- grpcsharp_shutdown();
+ NativeMethods.Get().grpcsharp_shutdown();
}
/// <summary>
diff --git a/src/csharp/Grpc.Core/Internal/BatchContextSafeHandle.cs b/src/csharp/Grpc.Core/Internal/BatchContextSafeHandle.cs
index 125fb40b32..0e2108f0f2 100644
--- a/src/csharp/Grpc.Core/Internal/BatchContextSafeHandle.cs
+++ b/src/csharp/Grpc.Core/Internal/BatchContextSafeHandle.cs
@@ -42,47 +42,7 @@ namespace Grpc.Core.Internal
/// </summary>
internal class BatchContextSafeHandle : SafeHandleZeroIsInvalid
{
- [DllImport("grpc_csharp_ext.dll")]
- static extern BatchContextSafeHandle grpcsharp_batch_context_create();
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern IntPtr grpcsharp_batch_context_recv_initial_metadata(BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern IntPtr grpcsharp_batch_context_recv_message_length(BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_batch_context_recv_message_to_buffer(BatchContextSafeHandle ctx, byte[] buffer, UIntPtr bufferLen);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern StatusCode grpcsharp_batch_context_recv_status_on_client_status(BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern IntPtr grpcsharp_batch_context_recv_status_on_client_details(BatchContextSafeHandle ctx); // returns const char*
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern IntPtr grpcsharp_batch_context_recv_status_on_client_trailing_metadata(BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern CallSafeHandle grpcsharp_batch_context_server_rpc_new_call(BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern IntPtr grpcsharp_batch_context_server_rpc_new_method(BatchContextSafeHandle ctx); // returns const char*
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern IntPtr grpcsharp_batch_context_server_rpc_new_host(BatchContextSafeHandle ctx); // returns const char*
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern Timespec grpcsharp_batch_context_server_rpc_new_deadline(BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern IntPtr grpcsharp_batch_context_server_rpc_new_request_metadata(BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern int grpcsharp_batch_context_recv_close_on_server_cancelled(BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_batch_context_destroy(IntPtr ctx);
+ static readonly NativeMethods Native = NativeMethods.Get();
private BatchContextSafeHandle()
{
@@ -90,7 +50,7 @@ namespace Grpc.Core.Internal
public static BatchContextSafeHandle Create()
{
- return grpcsharp_batch_context_create();
+ return Native.grpcsharp_batch_context_create();
}
public IntPtr Handle
@@ -104,17 +64,17 @@ namespace Grpc.Core.Internal
// Gets data of recv_initial_metadata completion.
public Metadata GetReceivedInitialMetadata()
{
- IntPtr metadataArrayPtr = grpcsharp_batch_context_recv_initial_metadata(this);
+ IntPtr metadataArrayPtr = Native.grpcsharp_batch_context_recv_initial_metadata(this);
return MetadataArraySafeHandle.ReadMetadataFromPtrUnsafe(metadataArrayPtr);
}
// Gets data of recv_status_on_client completion.
public ClientSideStatus GetReceivedStatusOnClient()
{
- string details = Marshal.PtrToStringAnsi(grpcsharp_batch_context_recv_status_on_client_details(this));
- var status = new Status(grpcsharp_batch_context_recv_status_on_client_status(this), details);
+ string details = Marshal.PtrToStringAnsi(Native.grpcsharp_batch_context_recv_status_on_client_details(this));
+ var status = new Status(Native.grpcsharp_batch_context_recv_status_on_client_status(this), details);
- IntPtr metadataArrayPtr = grpcsharp_batch_context_recv_status_on_client_trailing_metadata(this);
+ IntPtr metadataArrayPtr = Native.grpcsharp_batch_context_recv_status_on_client_trailing_metadata(this);
var metadata = MetadataArraySafeHandle.ReadMetadataFromPtrUnsafe(metadataArrayPtr);
return new ClientSideStatus(status, metadata);
@@ -123,26 +83,26 @@ namespace Grpc.Core.Internal
// Gets data of recv_message completion.
public byte[] GetReceivedMessage()
{
- IntPtr len = grpcsharp_batch_context_recv_message_length(this);
+ IntPtr len = Native.grpcsharp_batch_context_recv_message_length(this);
if (len == new IntPtr(-1))
{
return null;
}
byte[] data = new byte[(int)len];
- grpcsharp_batch_context_recv_message_to_buffer(this, data, new UIntPtr((ulong)data.Length));
+ Native.grpcsharp_batch_context_recv_message_to_buffer(this, data, new UIntPtr((ulong)data.Length));
return data;
}
// Gets data of server_rpc_new completion.
public ServerRpcNew GetServerRpcNew(Server server)
{
- var call = grpcsharp_batch_context_server_rpc_new_call(this);
+ var call = Native.grpcsharp_batch_context_server_rpc_new_call(this);
- var method = Marshal.PtrToStringAnsi(grpcsharp_batch_context_server_rpc_new_method(this));
- var host = Marshal.PtrToStringAnsi(grpcsharp_batch_context_server_rpc_new_host(this));
- var deadline = grpcsharp_batch_context_server_rpc_new_deadline(this);
+ var method = Marshal.PtrToStringAnsi(Native.grpcsharp_batch_context_server_rpc_new_method(this));
+ var host = Marshal.PtrToStringAnsi(Native.grpcsharp_batch_context_server_rpc_new_host(this));
+ var deadline = Native.grpcsharp_batch_context_server_rpc_new_deadline(this);
- IntPtr metadataArrayPtr = grpcsharp_batch_context_server_rpc_new_request_metadata(this);
+ IntPtr metadataArrayPtr = Native.grpcsharp_batch_context_server_rpc_new_request_metadata(this);
var metadata = MetadataArraySafeHandle.ReadMetadataFromPtrUnsafe(metadataArrayPtr);
return new ServerRpcNew(server, call, method, host, deadline, metadata);
@@ -151,12 +111,12 @@ namespace Grpc.Core.Internal
// Gets data of receive_close_on_server completion.
public bool GetReceivedCloseOnServerCancelled()
{
- return grpcsharp_batch_context_recv_close_on_server_cancelled(this) != 0;
+ return Native.grpcsharp_batch_context_recv_close_on_server_cancelled(this) != 0;
}
protected override bool ReleaseHandle()
{
- grpcsharp_batch_context_destroy(handle);
+ Native.grpcsharp_batch_context_destroy(handle);
return true;
}
}
diff --git a/src/csharp/Grpc.Core/Internal/CStringSafeHandle.cs b/src/csharp/Grpc.Core/Internal/CStringSafeHandle.cs
index 92fbe8cf0f..4ae57aa773 100644
--- a/src/csharp/Grpc.Core/Internal/CStringSafeHandle.cs
+++ b/src/csharp/Grpc.Core/Internal/CStringSafeHandle.cs
@@ -1,5 +1,5 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -39,8 +39,7 @@ namespace Grpc.Core.Internal
/// </summary>
internal class CStringSafeHandle : SafeHandleZeroIsInvalid
{
- [DllImport("grpc_csharp_ext.dll")]
- static extern void gprsharp_free(IntPtr ptr);
+ static readonly NativeMethods Native = NativeMethods.Get();
private CStringSafeHandle()
{
@@ -53,7 +52,7 @@ namespace Grpc.Core.Internal
protected override bool ReleaseHandle()
{
- gprsharp_free(handle);
+ Native.gprsharp_free(handle);
return true;
}
}
diff --git a/src/csharp/Grpc.Core/Internal/CallCredentialsSafeHandle.cs b/src/csharp/Grpc.Core/Internal/CallCredentialsSafeHandle.cs
index 3678c7dd86..0f36337f11 100644
--- a/src/csharp/Grpc.Core/Internal/CallCredentialsSafeHandle.cs
+++ b/src/csharp/Grpc.Core/Internal/CallCredentialsSafeHandle.cs
@@ -1,5 +1,5 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -40,11 +40,7 @@ namespace Grpc.Core.Internal
/// </summary>
internal class CallCredentialsSafeHandle : SafeHandleZeroIsInvalid
{
- [DllImport("grpc_csharp_ext.dll")]
- static extern CallCredentialsSafeHandle grpcsharp_composite_call_credentials_create(CallCredentialsSafeHandle creds1, CallCredentialsSafeHandle creds2);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_call_credentials_release(IntPtr credentials);
+ static readonly NativeMethods Native = NativeMethods.Get();
private CallCredentialsSafeHandle()
{
@@ -52,12 +48,12 @@ namespace Grpc.Core.Internal
public static CallCredentialsSafeHandle CreateComposite(CallCredentialsSafeHandle creds1, CallCredentialsSafeHandle creds2)
{
- return grpcsharp_composite_call_credentials_create(creds1, creds2);
+ return Native.grpcsharp_composite_call_credentials_create(creds1, creds2);
}
protected override bool ReleaseHandle()
{
- grpcsharp_call_credentials_release(handle);
+ Native.grpcsharp_call_credentials_release(handle);
return true;
}
}
diff --git a/src/csharp/Grpc.Core/Internal/CallSafeHandle.cs b/src/csharp/Grpc.Core/Internal/CallSafeHandle.cs
index 298c5e29ab..bc045b67b1 100644
--- a/src/csharp/Grpc.Core/Internal/CallSafeHandle.cs
+++ b/src/csharp/Grpc.Core/Internal/CallSafeHandle.cs
@@ -44,71 +44,12 @@ namespace Grpc.Core.Internal
internal class CallSafeHandle : SafeHandleZeroIsInvalid, INativeCall
{
public static readonly CallSafeHandle NullInstance = new CallSafeHandle();
+ static readonly NativeMethods Native = NativeMethods.Get();
const uint GRPC_WRITE_BUFFER_HINT = 1;
CompletionRegistry completionRegistry;
CompletionQueueSafeHandle completionQueue;
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_cancel(CallSafeHandle call);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_cancel_with_status(CallSafeHandle call, StatusCode status, string description);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_start_unary(CallSafeHandle call,
- BatchContextSafeHandle ctx, byte[] send_buffer, UIntPtr send_buffer_len, MetadataArraySafeHandle metadataArray, WriteFlags writeFlags);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_start_client_streaming(CallSafeHandle call,
- BatchContextSafeHandle ctx, MetadataArraySafeHandle metadataArray);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_start_server_streaming(CallSafeHandle call,
- BatchContextSafeHandle ctx, byte[] send_buffer, UIntPtr send_buffer_len,
- MetadataArraySafeHandle metadataArray, WriteFlags writeFlags);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_start_duplex_streaming(CallSafeHandle call,
- BatchContextSafeHandle ctx, MetadataArraySafeHandle metadataArray);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_send_message(CallSafeHandle call,
- BatchContextSafeHandle ctx, byte[] send_buffer, UIntPtr send_buffer_len, WriteFlags writeFlags, bool sendEmptyInitialMetadata);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_send_close_from_client(CallSafeHandle call,
- BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_send_status_from_server(CallSafeHandle call,
- BatchContextSafeHandle ctx, StatusCode statusCode, string statusMessage, MetadataArraySafeHandle metadataArray, bool sendEmptyInitialMetadata);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_recv_message(CallSafeHandle call,
- BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_recv_initial_metadata(CallSafeHandle call,
- BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_start_serverside(CallSafeHandle call,
- BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_send_initial_metadata(CallSafeHandle call,
- BatchContextSafeHandle ctx, MetadataArraySafeHandle metadataArray);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_call_set_credentials(CallSafeHandle call, CallCredentialsSafeHandle credentials);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern CStringSafeHandle grpcsharp_call_get_peer(CallSafeHandle call);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_call_destroy(IntPtr call);
-
private CallSafeHandle()
{
}
@@ -121,7 +62,7 @@ namespace Grpc.Core.Internal
public void SetCredentials(CallCredentialsSafeHandle credentials)
{
- grpcsharp_call_set_credentials(this, credentials).CheckOk();
+ Native.grpcsharp_call_set_credentials(this, credentials).CheckOk();
}
public void StartUnary(UnaryResponseClientHandler callback, byte[] payload, MetadataArraySafeHandle metadataArray, WriteFlags writeFlags)
@@ -130,7 +71,7 @@ namespace Grpc.Core.Internal
{
var ctx = BatchContextSafeHandle.Create();
completionRegistry.RegisterBatchCompletion(ctx, (success, context) => callback(success, context.GetReceivedStatusOnClient(), context.GetReceivedMessage(), context.GetReceivedInitialMetadata()));
- grpcsharp_call_start_unary(this, ctx, payload, new UIntPtr((ulong)payload.Length), metadataArray, writeFlags)
+ Native.grpcsharp_call_start_unary(this, ctx, payload, new UIntPtr((ulong)payload.Length), metadataArray, writeFlags)
.CheckOk();
}
}
@@ -139,7 +80,7 @@ namespace Grpc.Core.Internal
{
using (Profilers.ForCurrentThread().NewScope("CallSafeHandle.StartUnary"))
{
- grpcsharp_call_start_unary(this, ctx, payload, new UIntPtr((ulong)payload.Length), metadataArray, writeFlags)
+ Native.grpcsharp_call_start_unary(this, ctx, payload, new UIntPtr((ulong)payload.Length), metadataArray, writeFlags)
.CheckOk();
}
}
@@ -150,7 +91,7 @@ namespace Grpc.Core.Internal
{
var ctx = BatchContextSafeHandle.Create();
completionRegistry.RegisterBatchCompletion(ctx, (success, context) => callback(success, context.GetReceivedStatusOnClient(), context.GetReceivedMessage(), context.GetReceivedInitialMetadata()));
- grpcsharp_call_start_client_streaming(this, ctx, metadataArray).CheckOk();
+ Native.grpcsharp_call_start_client_streaming(this, ctx, metadataArray).CheckOk();
}
}
@@ -160,7 +101,7 @@ namespace Grpc.Core.Internal
{
var ctx = BatchContextSafeHandle.Create();
completionRegistry.RegisterBatchCompletion(ctx, (success, context) => callback(success, context.GetReceivedStatusOnClient()));
- grpcsharp_call_start_server_streaming(this, ctx, payload, new UIntPtr((ulong)payload.Length), metadataArray, writeFlags).CheckOk();
+ Native.grpcsharp_call_start_server_streaming(this, ctx, payload, new UIntPtr((ulong)payload.Length), metadataArray, writeFlags).CheckOk();
}
}
@@ -170,7 +111,7 @@ namespace Grpc.Core.Internal
{
var ctx = BatchContextSafeHandle.Create();
completionRegistry.RegisterBatchCompletion(ctx, (success, context) => callback(success, context.GetReceivedStatusOnClient()));
- grpcsharp_call_start_duplex_streaming(this, ctx, metadataArray).CheckOk();
+ Native.grpcsharp_call_start_duplex_streaming(this, ctx, metadataArray).CheckOk();
}
}
@@ -180,7 +121,7 @@ namespace Grpc.Core.Internal
{
var ctx = BatchContextSafeHandle.Create();
completionRegistry.RegisterBatchCompletion(ctx, (success, context) => callback(success));
- grpcsharp_call_send_message(this, ctx, payload, new UIntPtr((ulong)payload.Length), writeFlags, sendEmptyInitialMetadata).CheckOk();
+ Native.grpcsharp_call_send_message(this, ctx, payload, new UIntPtr((ulong)payload.Length), writeFlags, sendEmptyInitialMetadata).CheckOk();
}
}
@@ -190,7 +131,7 @@ namespace Grpc.Core.Internal
{
var ctx = BatchContextSafeHandle.Create();
completionRegistry.RegisterBatchCompletion(ctx, (success, context) => callback(success));
- grpcsharp_call_send_close_from_client(this, ctx).CheckOk();
+ Native.grpcsharp_call_send_close_from_client(this, ctx).CheckOk();
}
}
@@ -200,7 +141,7 @@ namespace Grpc.Core.Internal
{
var ctx = BatchContextSafeHandle.Create();
completionRegistry.RegisterBatchCompletion(ctx, (success, context) => callback(success));
- grpcsharp_call_send_status_from_server(this, ctx, status.StatusCode, status.Detail, metadataArray, sendEmptyInitialMetadata).CheckOk();
+ Native.grpcsharp_call_send_status_from_server(this, ctx, status.StatusCode, status.Detail, metadataArray, sendEmptyInitialMetadata).CheckOk();
}
}
@@ -210,7 +151,7 @@ namespace Grpc.Core.Internal
{
var ctx = BatchContextSafeHandle.Create();
completionRegistry.RegisterBatchCompletion(ctx, (success, context) => callback(success, context.GetReceivedMessage()));
- grpcsharp_call_recv_message(this, ctx).CheckOk();
+ Native.grpcsharp_call_recv_message(this, ctx).CheckOk();
}
}
@@ -220,7 +161,7 @@ namespace Grpc.Core.Internal
{
var ctx = BatchContextSafeHandle.Create();
completionRegistry.RegisterBatchCompletion(ctx, (success, context) => callback(success, context.GetReceivedInitialMetadata()));
- grpcsharp_call_recv_initial_metadata(this, ctx).CheckOk();
+ Native.grpcsharp_call_recv_initial_metadata(this, ctx).CheckOk();
}
}
@@ -230,7 +171,7 @@ namespace Grpc.Core.Internal
{
var ctx = BatchContextSafeHandle.Create();
completionRegistry.RegisterBatchCompletion(ctx, (success, context) => callback(success, context.GetReceivedCloseOnServerCancelled()));
- grpcsharp_call_start_serverside(this, ctx).CheckOk();
+ Native.grpcsharp_call_start_serverside(this, ctx).CheckOk();
}
}
@@ -240,23 +181,23 @@ namespace Grpc.Core.Internal
{
var ctx = BatchContextSafeHandle.Create();
completionRegistry.RegisterBatchCompletion(ctx, (success, context) => callback(success));
- grpcsharp_call_send_initial_metadata(this, ctx, metadataArray).CheckOk();
+ Native.grpcsharp_call_send_initial_metadata(this, ctx, metadataArray).CheckOk();
}
}
public void Cancel()
{
- grpcsharp_call_cancel(this).CheckOk();
+ Native.grpcsharp_call_cancel(this).CheckOk();
}
public void CancelWithStatus(Status status)
{
- grpcsharp_call_cancel_with_status(this, status.StatusCode, status.Detail).CheckOk();
+ Native.grpcsharp_call_cancel_with_status(this, status.StatusCode, status.Detail).CheckOk();
}
public string GetPeer()
{
- using (var cstring = grpcsharp_call_get_peer(this))
+ using (var cstring = Native.grpcsharp_call_get_peer(this))
{
return cstring.GetValue();
}
@@ -264,7 +205,7 @@ namespace Grpc.Core.Internal
protected override bool ReleaseHandle()
{
- grpcsharp_call_destroy(handle);
+ Native.grpcsharp_call_destroy(handle);
return true;
}
diff --git a/src/csharp/Grpc.Core/Internal/ChannelArgsSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ChannelArgsSafeHandle.cs
index ea5b52374e..f6aa710b21 100644
--- a/src/csharp/Grpc.Core/Internal/ChannelArgsSafeHandle.cs
+++ b/src/csharp/Grpc.Core/Internal/ChannelArgsSafeHandle.cs
@@ -1,5 +1,5 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -39,17 +39,7 @@ namespace Grpc.Core.Internal
/// </summary>
internal class ChannelArgsSafeHandle : SafeHandleZeroIsInvalid
{
- [DllImport("grpc_csharp_ext.dll")]
- static extern ChannelArgsSafeHandle grpcsharp_channel_args_create(UIntPtr numArgs);
-
- [DllImport("grpc_csharp_ext.dll", CharSet = CharSet.Ansi)]
- static extern void grpcsharp_channel_args_set_string(ChannelArgsSafeHandle args, UIntPtr index, string key, string value);
-
- [DllImport("grpc_csharp_ext.dll", CharSet = CharSet.Ansi)]
- static extern void grpcsharp_channel_args_set_integer(ChannelArgsSafeHandle args, UIntPtr index, string key, int value);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_channel_args_destroy(IntPtr args);
+ static readonly NativeMethods Native = NativeMethods.Get();
private ChannelArgsSafeHandle()
{
@@ -62,22 +52,22 @@ namespace Grpc.Core.Internal
public static ChannelArgsSafeHandle Create(int size)
{
- return grpcsharp_channel_args_create(new UIntPtr((uint)size));
+ return Native.grpcsharp_channel_args_create(new UIntPtr((uint)size));
}
public void SetString(int index, string key, string value)
{
- grpcsharp_channel_args_set_string(this, new UIntPtr((uint)index), key, value);
+ Native.grpcsharp_channel_args_set_string(this, new UIntPtr((uint)index), key, value);
}
public void SetInteger(int index, string key, int value)
{
- grpcsharp_channel_args_set_integer(this, new UIntPtr((uint)index), key, value);
+ Native.grpcsharp_channel_args_set_integer(this, new UIntPtr((uint)index), key, value);
}
protected override bool ReleaseHandle()
{
- grpcsharp_channel_args_destroy(handle);
+ Native.grpcsharp_channel_args_destroy(handle);
return true;
}
}
diff --git a/src/csharp/Grpc.Core/Internal/ChannelCredentialsSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ChannelCredentialsSafeHandle.cs
index 8a58c64478..65cc2e019f 100644
--- a/src/csharp/Grpc.Core/Internal/ChannelCredentialsSafeHandle.cs
+++ b/src/csharp/Grpc.Core/Internal/ChannelCredentialsSafeHandle.cs
@@ -1,5 +1,5 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -40,14 +40,7 @@ namespace Grpc.Core.Internal
/// </summary>
internal class ChannelCredentialsSafeHandle : SafeHandleZeroIsInvalid
{
- [DllImport("grpc_csharp_ext.dll", CharSet = CharSet.Ansi)]
- static extern ChannelCredentialsSafeHandle grpcsharp_ssl_credentials_create(string pemRootCerts, string keyCertPairCertChain, string keyCertPairPrivateKey);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern ChannelCredentialsSafeHandle grpcsharp_composite_channel_credentials_create(ChannelCredentialsSafeHandle channelCreds, CallCredentialsSafeHandle callCreds);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_channel_credentials_release(IntPtr credentials);
+ static readonly NativeMethods Native = NativeMethods.Get();
private ChannelCredentialsSafeHandle()
{
@@ -64,22 +57,22 @@ namespace Grpc.Core.Internal
{
if (keyCertPair != null)
{
- return grpcsharp_ssl_credentials_create(pemRootCerts, keyCertPair.CertificateChain, keyCertPair.PrivateKey);
+ return Native.grpcsharp_ssl_credentials_create(pemRootCerts, keyCertPair.CertificateChain, keyCertPair.PrivateKey);
}
else
{
- return grpcsharp_ssl_credentials_create(pemRootCerts, null, null);
+ return Native.grpcsharp_ssl_credentials_create(pemRootCerts, null, null);
}
}
public static ChannelCredentialsSafeHandle CreateComposite(ChannelCredentialsSafeHandle channelCreds, CallCredentialsSafeHandle callCreds)
{
- return grpcsharp_composite_channel_credentials_create(channelCreds, callCreds);
+ return Native.grpcsharp_composite_channel_credentials_create(channelCreds, callCreds);
}
protected override bool ReleaseHandle()
{
- grpcsharp_channel_credentials_release(handle);
+ Native.grpcsharp_channel_credentials_release(handle);
return true;
}
}
diff --git a/src/csharp/Grpc.Core/Internal/ChannelSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ChannelSafeHandle.cs
index 4a5584121e..2199905cc6 100644
--- a/src/csharp/Grpc.Core/Internal/ChannelSafeHandle.cs
+++ b/src/csharp/Grpc.Core/Internal/ChannelSafeHandle.cs
@@ -1,5 +1,5 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -41,27 +41,7 @@ namespace Grpc.Core.Internal
/// </summary>
internal class ChannelSafeHandle : SafeHandleZeroIsInvalid
{
- [DllImport("grpc_csharp_ext.dll")]
- static extern ChannelSafeHandle grpcsharp_insecure_channel_create(string target, ChannelArgsSafeHandle channelArgs);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern ChannelSafeHandle grpcsharp_secure_channel_create(ChannelCredentialsSafeHandle credentials, string target, ChannelArgsSafeHandle channelArgs);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern CallSafeHandle grpcsharp_channel_create_call(ChannelSafeHandle channel, CallSafeHandle parentCall, ContextPropagationFlags propagationMask, CompletionQueueSafeHandle cq, string method, string host, Timespec deadline);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern ChannelState grpcsharp_channel_check_connectivity_state(ChannelSafeHandle channel, int tryToConnect);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_channel_watch_connectivity_state(ChannelSafeHandle channel, ChannelState lastObservedState,
- Timespec deadline, CompletionQueueSafeHandle cq, BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern CStringSafeHandle grpcsharp_channel_get_target(ChannelSafeHandle call);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_channel_destroy(IntPtr channel);
+ static readonly NativeMethods Native = NativeMethods.Get();
private ChannelSafeHandle()
{
@@ -72,7 +52,7 @@ namespace Grpc.Core.Internal
// Increment reference count for the native gRPC environment to make sure we don't do grpc_shutdown() before destroying the server handle.
// Doing so would make object finalizer crash if we end up abandoning the handle.
GrpcEnvironment.GrpcNativeInit();
- return grpcsharp_insecure_channel_create(target, channelArgs);
+ return Native.grpcsharp_insecure_channel_create(target, channelArgs);
}
public static ChannelSafeHandle CreateSecure(ChannelCredentialsSafeHandle credentials, string target, ChannelArgsSafeHandle channelArgs)
@@ -80,14 +60,14 @@ namespace Grpc.Core.Internal
// Increment reference count for the native gRPC environment to make sure we don't do grpc_shutdown() before destroying the server handle.
// Doing so would make object finalizer crash if we end up abandoning the handle.
GrpcEnvironment.GrpcNativeInit();
- return grpcsharp_secure_channel_create(credentials, target, channelArgs);
+ return Native.grpcsharp_secure_channel_create(credentials, target, channelArgs);
}
public CallSafeHandle CreateCall(CompletionRegistry registry, CallSafeHandle parentCall, ContextPropagationFlags propagationMask, CompletionQueueSafeHandle cq, string method, string host, Timespec deadline, CallCredentialsSafeHandle credentials)
{
using (Profilers.ForCurrentThread().NewScope("ChannelSafeHandle.CreateCall"))
{
- var result = grpcsharp_channel_create_call(this, parentCall, propagationMask, cq, method, host, deadline);
+ var result = Native.grpcsharp_channel_create_call(this, parentCall, propagationMask, cq, method, host, deadline);
if (credentials != null)
{
result.SetCredentials(credentials);
@@ -99,7 +79,7 @@ namespace Grpc.Core.Internal
public ChannelState CheckConnectivityState(bool tryToConnect)
{
- return grpcsharp_channel_check_connectivity_state(this, tryToConnect ? 1 : 0);
+ return Native.grpcsharp_channel_check_connectivity_state(this, tryToConnect ? 1 : 0);
}
public void WatchConnectivityState(ChannelState lastObservedState, Timespec deadline, CompletionQueueSafeHandle cq,
@@ -107,12 +87,12 @@ namespace Grpc.Core.Internal
{
var ctx = BatchContextSafeHandle.Create();
completionRegistry.RegisterBatchCompletion(ctx, callback);
- grpcsharp_channel_watch_connectivity_state(this, lastObservedState, deadline, cq, ctx);
+ Native.grpcsharp_channel_watch_connectivity_state(this, lastObservedState, deadline, cq, ctx);
}
public string GetTarget()
{
- using (var cstring = grpcsharp_channel_get_target(this))
+ using (var cstring = Native.grpcsharp_channel_get_target(this))
{
return cstring.GetValue();
}
@@ -120,7 +100,7 @@ namespace Grpc.Core.Internal
protected override bool ReleaseHandle()
{
- grpcsharp_channel_destroy(handle);
+ Native.grpcsharp_channel_destroy(handle);
GrpcEnvironment.GrpcNativeShutdown();
return true;
}
diff --git a/src/csharp/Grpc.Core/Internal/CompletionQueueEvent.cs b/src/csharp/Grpc.Core/Internal/CompletionQueueEvent.cs
index 3f517514a3..36a92ecd8e 100644
--- a/src/csharp/Grpc.Core/Internal/CompletionQueueEvent.cs
+++ b/src/csharp/Grpc.Core/Internal/CompletionQueueEvent.cs
@@ -1,6 +1,6 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -42,8 +42,7 @@ namespace Grpc.Core.Internal
[StructLayout(LayoutKind.Sequential)]
internal struct CompletionQueueEvent
{
- [DllImport("grpc_csharp_ext.dll")]
- static extern int grpcsharp_sizeof_grpc_event();
+ static readonly NativeMethods Native = NativeMethods.Get();
public GRPCCompletionType type;
public int success;
@@ -53,7 +52,7 @@ namespace Grpc.Core.Internal
{
get
{
- return grpcsharp_sizeof_grpc_event();
+ return Native.grpcsharp_sizeof_grpc_event();
}
}
}
diff --git a/src/csharp/Grpc.Core/Internal/CompletionQueueSafeHandle.cs b/src/csharp/Grpc.Core/Internal/CompletionQueueSafeHandle.cs
index 3754ad382e..9d7a990c42 100644
--- a/src/csharp/Grpc.Core/Internal/CompletionQueueSafeHandle.cs
+++ b/src/csharp/Grpc.Core/Internal/CompletionQueueSafeHandle.cs
@@ -1,5 +1,5 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -42,22 +42,9 @@ namespace Grpc.Core.Internal
/// </summary>
internal class CompletionQueueSafeHandle : SafeHandleZeroIsInvalid
{
- AtomicCounter shutdownRefcount = new AtomicCounter(1);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern CompletionQueueSafeHandle grpcsharp_completion_queue_create();
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_completion_queue_shutdown(CompletionQueueSafeHandle cq);
+ static readonly NativeMethods Native = NativeMethods.Get();
- [DllImport("grpc_csharp_ext.dll")]
- static extern CompletionQueueEvent grpcsharp_completion_queue_next(CompletionQueueSafeHandle cq);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern CompletionQueueEvent grpcsharp_completion_queue_pluck(CompletionQueueSafeHandle cq, IntPtr tag);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_completion_queue_destroy(IntPtr cq);
+ AtomicCounter shutdownRefcount = new AtomicCounter(1);
private CompletionQueueSafeHandle()
{
@@ -65,20 +52,20 @@ namespace Grpc.Core.Internal
public static CompletionQueueSafeHandle Create()
{
- return grpcsharp_completion_queue_create();
+ return Native.grpcsharp_completion_queue_create();
}
public CompletionQueueEvent Next()
{
- return grpcsharp_completion_queue_next(this);
+ return Native.grpcsharp_completion_queue_next(this);
}
public CompletionQueueEvent Pluck(IntPtr tag)
{
using (Profilers.ForCurrentThread().NewScope("CompletionQueueSafeHandle.Pluck"))
{
- return grpcsharp_completion_queue_pluck(this, tag);
+ return Native.grpcsharp_completion_queue_pluck(this, tag);
}
}
@@ -98,7 +85,7 @@ namespace Grpc.Core.Internal
protected override bool ReleaseHandle()
{
- grpcsharp_completion_queue_destroy(handle);
+ Native.grpcsharp_completion_queue_destroy(handle);
return true;
}
@@ -106,7 +93,7 @@ namespace Grpc.Core.Internal
{
if (shutdownRefcount.Decrement() == 0)
{
- grpcsharp_completion_queue_shutdown(this);
+ Native.grpcsharp_completion_queue_shutdown(this);
}
}
diff --git a/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs b/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs
index ed1bd24498..81760d7a10 100644
--- a/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs
+++ b/src/csharp/Grpc.Core/Internal/MetadataArraySafeHandle.cs
@@ -1,5 +1,5 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -40,26 +40,7 @@ namespace Grpc.Core.Internal
/// </summary>
internal class MetadataArraySafeHandle : SafeHandleZeroIsInvalid
{
- [DllImport("grpc_csharp_ext.dll")]
- static extern MetadataArraySafeHandle grpcsharp_metadata_array_create(UIntPtr capacity);
-
- [DllImport("grpc_csharp_ext.dll", CharSet = CharSet.Ansi)]
- static extern void grpcsharp_metadata_array_add(MetadataArraySafeHandle array, string key, byte[] value, UIntPtr valueLength);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern UIntPtr grpcsharp_metadata_array_count(IntPtr metadataArray);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern IntPtr grpcsharp_metadata_array_get_key(IntPtr metadataArray, UIntPtr index);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern IntPtr grpcsharp_metadata_array_get_value(IntPtr metadataArray, UIntPtr index);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern UIntPtr grpcsharp_metadata_array_get_value_length(IntPtr metadataArray, UIntPtr index);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_metadata_array_destroy_full(IntPtr array);
+ static readonly NativeMethods Native = NativeMethods.Get();
private MetadataArraySafeHandle()
{
@@ -70,11 +51,11 @@ namespace Grpc.Core.Internal
using (Profilers.ForCurrentThread().NewScope("MetadataArraySafeHandle.Create"))
{
// TODO(jtattermusch): we might wanna check that the metadata is readonly
- var metadataArray = grpcsharp_metadata_array_create(new UIntPtr((ulong)metadata.Count));
+ var metadataArray = Native.grpcsharp_metadata_array_create(new UIntPtr((ulong)metadata.Count));
for (int i = 0; i < metadata.Count; i++)
{
var valueBytes = metadata[i].GetSerializedValueUnsafe();
- grpcsharp_metadata_array_add(metadataArray, metadata[i].Key, valueBytes, new UIntPtr((ulong)valueBytes.Length));
+ Native.grpcsharp_metadata_array_add(metadataArray, metadata[i].Key, valueBytes, new UIntPtr((ulong)valueBytes.Length));
}
return metadataArray;
}
@@ -90,15 +71,15 @@ namespace Grpc.Core.Internal
return null;
}
- ulong count = grpcsharp_metadata_array_count(metadataArray).ToUInt64();
+ ulong count = Native.grpcsharp_metadata_array_count(metadataArray).ToUInt64();
var metadata = new Metadata();
for (ulong i = 0; i < count; i++)
{
var index = new UIntPtr(i);
- string key = Marshal.PtrToStringAnsi(grpcsharp_metadata_array_get_key(metadataArray, index));
- var bytes = new byte[grpcsharp_metadata_array_get_value_length(metadataArray, index).ToUInt64()];
- Marshal.Copy(grpcsharp_metadata_array_get_value(metadataArray, index), bytes, 0, bytes.Length);
+ string key = Marshal.PtrToStringAnsi(Native.grpcsharp_metadata_array_get_key(metadataArray, index));
+ var bytes = new byte[Native.grpcsharp_metadata_array_get_value_length(metadataArray, index).ToUInt64()];
+ Marshal.Copy(Native.grpcsharp_metadata_array_get_value(metadataArray, index), bytes, 0, bytes.Length);
metadata.Add(Metadata.Entry.CreateUnsafe(key, bytes));
}
return metadata;
@@ -114,7 +95,7 @@ namespace Grpc.Core.Internal
protected override bool ReleaseHandle()
{
- grpcsharp_metadata_array_destroy_full(handle);
+ Native.grpcsharp_metadata_array_destroy_full(handle);
return true;
}
}
diff --git a/src/csharp/Grpc.Core/Internal/NativeExtension.cs b/src/csharp/Grpc.Core/Internal/NativeExtension.cs
new file mode 100644
index 0000000000..137533b3ef
--- /dev/null
+++ b/src/csharp/Grpc.Core/Internal/NativeExtension.cs
@@ -0,0 +1,158 @@
+#region Copyright notice and license
+
+// 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.
+
+#endregion
+
+using System;
+using System.IO;
+using System.Reflection;
+
+using Grpc.Core.Logging;
+
+namespace Grpc.Core.Internal
+{
+ /// <summary>
+ /// Takes care of loading C# native extension and provides access to PInvoke calls the library exports.
+ /// </summary>
+ internal sealed class NativeExtension
+ {
+ const string NativeLibrariesDir = "nativelibs";
+
+ static readonly ILogger Logger = GrpcEnvironment.Logger.ForType<NativeExtension>();
+ static readonly object staticLock = new object();
+ static volatile NativeExtension instance;
+
+ readonly NativeMethods nativeMethods;
+
+ private NativeExtension()
+ {
+ this.nativeMethods = new NativeMethods(Load());
+
+ // Redirect the the native logs as the very first thing after loading the native extension
+ // to make sure we don't lose any logs.
+ NativeLogRedirector.Redirect(this.nativeMethods);
+
+ Logger.Debug("gRPC native library loaded successfully.");
+ }
+
+ /// <summary>
+ /// Gets singleton instance of this class.
+ /// The native extension is loaded when called for the first time.
+ /// </summary>
+ public static NativeExtension Get()
+ {
+ if (instance == null)
+ {
+ lock (staticLock)
+ {
+ if (instance == null) {
+ instance = new NativeExtension();
+ }
+ }
+ }
+ return instance;
+ }
+
+ /// <summary>
+ /// Provides access to the exported native methods.
+ /// </summary>
+ public NativeMethods NativeMethods
+ {
+ get { return this.nativeMethods; }
+ }
+
+ /// <summary>
+ /// Detects which configuration of native extension to load and load it.
+ /// </summary>
+ private static UnmanagedLibrary Load()
+ {
+ // TODO: allow customizing path to native extension (possibly through exposing a GrpcEnvironment property).
+
+ var libraryFlavor = string.Format("{0}_{1}", GetPlatformString(), GetArchitectureString());
+ var fullPath = Path.Combine(GetExecutingAssemblyDirectory(),
+ NativeLibrariesDir, libraryFlavor, GetNativeLibraryFilename());
+ return new UnmanagedLibrary(fullPath);
+ }
+
+ private static string GetExecutingAssemblyDirectory()
+ {
+ return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
+ }
+
+ private static string GetPlatformString()
+ {
+ if (PlatformApis.IsWindows)
+ {
+ return "windows";
+ }
+ if (PlatformApis.IsLinux)
+ {
+ return "linux";
+ }
+ if (PlatformApis.IsMacOSX)
+ {
+ return "macosx";
+ }
+ throw new InvalidOperationException("Unsupported platform.");
+ }
+
+ // Currently, only Intel platform is supported.
+ private static string GetArchitectureString()
+ {
+ if (PlatformApis.Is64Bit)
+ {
+ return "x64";
+ }
+ else
+ {
+ return "x86";
+ }
+ }
+
+ // platform specific file name of the extension library
+ private static string GetNativeLibraryFilename()
+ {
+ if (PlatformApis.IsWindows)
+ {
+ return "grpc_csharp_ext.dll";
+ }
+ if (PlatformApis.IsLinux)
+ {
+ return "libgrpc_csharp_ext.so";
+ }
+ if (PlatformApis.IsMacOSX)
+ {
+ return "libgrpc_csharp_ext.dylib";
+ }
+ throw new InvalidOperationException("Unsupported platform.");
+ }
+ }
+}
diff --git a/src/csharp/Grpc.Core/Internal/NativeLogRedirector.cs b/src/csharp/Grpc.Core/Internal/NativeLogRedirector.cs
index b8a55c5fe8..4bbbb4808c 100644
--- a/src/csharp/Grpc.Core/Internal/NativeLogRedirector.cs
+++ b/src/csharp/Grpc.Core/Internal/NativeLogRedirector.cs
@@ -1,6 +1,6 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -51,20 +51,17 @@ namespace Grpc.Core.Internal
static object staticLock = new object();
static GprLogDelegate writeCallback;
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_redirect_log(GprLogDelegate callback);
-
/// <summary>
/// Redirects logs from native gRPC C core library to a general logger.
/// </summary>
- public static void Redirect()
+ public static void Redirect(NativeMethods native)
{
lock (staticLock)
{
if (writeCallback == null)
{
writeCallback = new GprLogDelegate(HandleWrite);
- grpcsharp_redirect_log(writeCallback);
+ native.grpcsharp_redirect_log(writeCallback);
}
}
}
diff --git a/src/csharp/Grpc.Core/Internal/NativeMetadataCredentialsPlugin.cs b/src/csharp/Grpc.Core/Internal/NativeMetadataCredentialsPlugin.cs
index 8bb646d303..36b865c09c 100644
--- a/src/csharp/Grpc.Core/Internal/NativeMetadataCredentialsPlugin.cs
+++ b/src/csharp/Grpc.Core/Internal/NativeMetadataCredentialsPlugin.cs
@@ -1,5 +1,5 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -44,12 +44,7 @@ namespace Grpc.Core.Internal
{
const string GetMetadataExceptionMsg = "Exception occured in metadata credentials plugin.";
static readonly ILogger Logger = GrpcEnvironment.Logger.ForType<NativeMetadataCredentialsPlugin>();
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern CallCredentialsSafeHandle grpcsharp_metadata_credentials_create_from_plugin(NativeMetadataInterceptor interceptor);
-
- [DllImport("grpc_csharp_ext.dll", CharSet = CharSet.Ansi)]
- static extern void grpcsharp_metadata_credentials_notify_from_plugin(IntPtr callbackPtr, IntPtr userData, MetadataArraySafeHandle metadataArray, StatusCode statusCode, string errorDetails);
+ static readonly NativeMethods Native = NativeMethods.Get();
AsyncAuthInterceptor interceptor;
GCHandle gcHandle;
@@ -63,7 +58,7 @@ namespace Grpc.Core.Internal
// Make sure the callback doesn't get garbage collected until it is destroyed.
this.gcHandle = GCHandle.Alloc(this.nativeInterceptor, GCHandleType.Normal);
- this.credentials = grpcsharp_metadata_credentials_create_from_plugin(nativeInterceptor);
+ this.credentials = Native.grpcsharp_metadata_credentials_create_from_plugin(nativeInterceptor);
}
public CallCredentialsSafeHandle Credentials
@@ -87,7 +82,7 @@ namespace Grpc.Core.Internal
}
catch (Exception e)
{
- grpcsharp_metadata_credentials_notify_from_plugin(callbackPtr, userDataPtr, MetadataArraySafeHandle.Create(Metadata.Empty), StatusCode.Unknown, GetMetadataExceptionMsg);
+ Native.grpcsharp_metadata_credentials_notify_from_plugin(callbackPtr, userDataPtr, MetadataArraySafeHandle.Create(Metadata.Empty), StatusCode.Unknown, GetMetadataExceptionMsg);
Logger.Error(e, GetMetadataExceptionMsg);
}
}
@@ -101,12 +96,12 @@ namespace Grpc.Core.Internal
using (var metadataArray = MetadataArraySafeHandle.Create(metadata))
{
- grpcsharp_metadata_credentials_notify_from_plugin(callbackPtr, userDataPtr, metadataArray, StatusCode.OK, null);
+ Native.grpcsharp_metadata_credentials_notify_from_plugin(callbackPtr, userDataPtr, metadataArray, StatusCode.OK, null);
}
}
catch (Exception e)
{
- grpcsharp_metadata_credentials_notify_from_plugin(callbackPtr, userDataPtr, MetadataArraySafeHandle.Create(Metadata.Empty), StatusCode.Unknown, GetMetadataExceptionMsg);
+ Native.grpcsharp_metadata_credentials_notify_from_plugin(callbackPtr, userDataPtr, MetadataArraySafeHandle.Create(Metadata.Empty), StatusCode.Unknown, GetMetadataExceptionMsg);
Logger.Error(e, GetMetadataExceptionMsg);
}
}
diff --git a/src/csharp/Grpc.Core/Internal/NativeMethods.cs b/src/csharp/Grpc.Core/Internal/NativeMethods.cs
new file mode 100644
index 0000000000..af37d61c73
--- /dev/null
+++ b/src/csharp/Grpc.Core/Internal/NativeMethods.cs
@@ -0,0 +1,816 @@
+#region Copyright notice and license
+
+// 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.
+
+#endregion
+
+using System;
+using System.Collections.Concurrent;
+using System.Diagnostics;
+using System.IO;
+using System.Reflection;
+using System.Runtime.InteropServices;
+using System.Threading;
+
+using Grpc.Core.Logging;
+using Grpc.Core.Utils;
+
+namespace Grpc.Core.Internal
+{
+ /// <summary>
+ /// Provides access to all native methods provided by <c>NativeExtension</c>.
+ /// An extra level of indirection is added to P/Invoke calls to allow intelligent loading
+ /// of the right configuration of the native extension based on current platform, architecture etc.
+ /// </summary>
+ internal class NativeMethods
+ {
+ #region Native methods
+
+ public readonly Delegates.grpcsharp_init_delegate grpcsharp_init;
+ public readonly Delegates.grpcsharp_shutdown_delegate grpcsharp_shutdown;
+ public readonly Delegates.grpcsharp_version_string_delegate grpcsharp_version_string;
+
+ public readonly Delegates.grpcsharp_batch_context_create_delegate grpcsharp_batch_context_create;
+ public readonly Delegates.grpcsharp_batch_context_recv_initial_metadata_delegate grpcsharp_batch_context_recv_initial_metadata;
+ public readonly Delegates.grpcsharp_batch_context_recv_message_length_delegate grpcsharp_batch_context_recv_message_length;
+ public readonly Delegates.grpcsharp_batch_context_recv_message_to_buffer_delegate grpcsharp_batch_context_recv_message_to_buffer;
+ public readonly Delegates.grpcsharp_batch_context_recv_status_on_client_status_delegate grpcsharp_batch_context_recv_status_on_client_status;
+ public readonly Delegates.grpcsharp_batch_context_recv_status_on_client_details_delegate grpcsharp_batch_context_recv_status_on_client_details;
+ public readonly Delegates.grpcsharp_batch_context_recv_status_on_client_trailing_metadata_delegate grpcsharp_batch_context_recv_status_on_client_trailing_metadata;
+ public readonly Delegates.grpcsharp_batch_context_server_rpc_new_call_delegate grpcsharp_batch_context_server_rpc_new_call;
+ public readonly Delegates.grpcsharp_batch_context_server_rpc_new_method_delegate grpcsharp_batch_context_server_rpc_new_method;
+ public readonly Delegates.grpcsharp_batch_context_server_rpc_new_host_delegate grpcsharp_batch_context_server_rpc_new_host;
+ public readonly Delegates.grpcsharp_batch_context_server_rpc_new_deadline_delegate grpcsharp_batch_context_server_rpc_new_deadline;
+ public readonly Delegates.grpcsharp_batch_context_server_rpc_new_request_metadata_delegate grpcsharp_batch_context_server_rpc_new_request_metadata;
+ public readonly Delegates.grpcsharp_batch_context_recv_close_on_server_cancelled_delegate grpcsharp_batch_context_recv_close_on_server_cancelled;
+ public readonly Delegates.grpcsharp_batch_context_destroy_delegate grpcsharp_batch_context_destroy;
+
+ public readonly Delegates.grpcsharp_composite_call_credentials_create_delegate grpcsharp_composite_call_credentials_create;
+ public readonly Delegates.grpcsharp_call_credentials_release_delegate grpcsharp_call_credentials_release;
+
+ public readonly Delegates.grpcsharp_call_cancel_delegate grpcsharp_call_cancel;
+ public readonly Delegates.grpcsharp_call_cancel_with_status_delegate grpcsharp_call_cancel_with_status;
+ public readonly Delegates.grpcsharp_call_start_unary_delegate grpcsharp_call_start_unary;
+ public readonly Delegates.grpcsharp_call_start_client_streaming_delegate grpcsharp_call_start_client_streaming;
+ public readonly Delegates.grpcsharp_call_start_server_streaming_delegate grpcsharp_call_start_server_streaming;
+ public readonly Delegates.grpcsharp_call_start_duplex_streaming_delegate grpcsharp_call_start_duplex_streaming;
+ public readonly Delegates.grpcsharp_call_send_message_delegate grpcsharp_call_send_message;
+ public readonly Delegates.grpcsharp_call_send_close_from_client_delegate grpcsharp_call_send_close_from_client;
+ public readonly Delegates.grpcsharp_call_send_status_from_server_delegate grpcsharp_call_send_status_from_server;
+ public readonly Delegates.grpcsharp_call_recv_message_delegate grpcsharp_call_recv_message;
+ public readonly Delegates.grpcsharp_call_recv_initial_metadata_delegate grpcsharp_call_recv_initial_metadata;
+ public readonly Delegates.grpcsharp_call_start_serverside_delegate grpcsharp_call_start_serverside;
+ public readonly Delegates.grpcsharp_call_send_initial_metadata_delegate grpcsharp_call_send_initial_metadata;
+ public readonly Delegates.grpcsharp_call_set_credentials_delegate grpcsharp_call_set_credentials;
+ public readonly Delegates.grpcsharp_call_get_peer_delegate grpcsharp_call_get_peer;
+ public readonly Delegates.grpcsharp_call_destroy_delegate grpcsharp_call_destroy;
+
+ public readonly Delegates.grpcsharp_channel_args_create_delegate grpcsharp_channel_args_create;
+ public readonly Delegates.grpcsharp_channel_args_set_string_delegate grpcsharp_channel_args_set_string;
+ public readonly Delegates.grpcsharp_channel_args_set_integer_delegate grpcsharp_channel_args_set_integer;
+ public readonly Delegates.grpcsharp_channel_args_destroy_delegate grpcsharp_channel_args_destroy;
+
+ public readonly Delegates.grpcsharp_ssl_credentials_create_delegate grpcsharp_ssl_credentials_create;
+ public readonly Delegates.grpcsharp_composite_channel_credentials_create_delegate grpcsharp_composite_channel_credentials_create;
+ public readonly Delegates.grpcsharp_channel_credentials_release_delegate grpcsharp_channel_credentials_release;
+
+ public readonly Delegates.grpcsharp_insecure_channel_create_delegate grpcsharp_insecure_channel_create;
+ public readonly Delegates.grpcsharp_secure_channel_create_delegate grpcsharp_secure_channel_create;
+ public readonly Delegates.grpcsharp_channel_create_call_delegate grpcsharp_channel_create_call;
+ public readonly Delegates.grpcsharp_channel_check_connectivity_state_delegate grpcsharp_channel_check_connectivity_state;
+ public readonly Delegates.grpcsharp_channel_watch_connectivity_state_delegate grpcsharp_channel_watch_connectivity_state;
+ public readonly Delegates.grpcsharp_channel_get_target_delegate grpcsharp_channel_get_target;
+ public readonly Delegates.grpcsharp_channel_destroy_delegate grpcsharp_channel_destroy;
+
+ public readonly Delegates.grpcsharp_sizeof_grpc_event_delegate grpcsharp_sizeof_grpc_event;
+
+ public readonly Delegates.grpcsharp_completion_queue_create_delegate grpcsharp_completion_queue_create;
+ public readonly Delegates.grpcsharp_completion_queue_shutdown_delegate grpcsharp_completion_queue_shutdown;
+ public readonly Delegates.grpcsharp_completion_queue_next_delegate grpcsharp_completion_queue_next;
+ public readonly Delegates.grpcsharp_completion_queue_pluck_delegate grpcsharp_completion_queue_pluck;
+ public readonly Delegates.grpcsharp_completion_queue_destroy_delegate grpcsharp_completion_queue_destroy;
+
+ public readonly Delegates.gprsharp_free_delegate gprsharp_free;
+
+ public readonly Delegates.grpcsharp_metadata_array_create_delegate grpcsharp_metadata_array_create;
+ public readonly Delegates.grpcsharp_metadata_array_add_delegate grpcsharp_metadata_array_add;
+ public readonly Delegates.grpcsharp_metadata_array_count_delegate grpcsharp_metadata_array_count;
+ public readonly Delegates.grpcsharp_metadata_array_get_key_delegate grpcsharp_metadata_array_get_key;
+ public readonly Delegates.grpcsharp_metadata_array_get_value_delegate grpcsharp_metadata_array_get_value;
+ public readonly Delegates.grpcsharp_metadata_array_get_value_length_delegate grpcsharp_metadata_array_get_value_length;
+ public readonly Delegates.grpcsharp_metadata_array_destroy_full_delegate grpcsharp_metadata_array_destroy_full;
+
+ public readonly Delegates.grpcsharp_redirect_log_delegate grpcsharp_redirect_log;
+
+ public readonly Delegates.grpcsharp_metadata_credentials_create_from_plugin_delegate grpcsharp_metadata_credentials_create_from_plugin;
+ public readonly Delegates.grpcsharp_metadata_credentials_notify_from_plugin_delegate grpcsharp_metadata_credentials_notify_from_plugin;
+
+ public readonly Delegates.grpcsharp_ssl_server_credentials_create_delegate grpcsharp_ssl_server_credentials_create;
+ public readonly Delegates.grpcsharp_server_credentials_release_delegate grpcsharp_server_credentials_release;
+
+ public readonly Delegates.grpcsharp_server_create_delegate grpcsharp_server_create;
+ public readonly Delegates.grpcsharp_server_add_insecure_http2_port_delegate grpcsharp_server_add_insecure_http2_port;
+ public readonly Delegates.grpcsharp_server_add_secure_http2_port_delegate grpcsharp_server_add_secure_http2_port;
+ public readonly Delegates.grpcsharp_server_start_delegate grpcsharp_server_start;
+ public readonly Delegates.grpcsharp_server_request_call_delegate grpcsharp_server_request_call;
+ public readonly Delegates.grpcsharp_server_cancel_all_calls_delegate grpcsharp_server_cancel_all_calls;
+ public readonly Delegates.grpcsharp_server_shutdown_and_notify_callback_delegate grpcsharp_server_shutdown_and_notify_callback;
+ public readonly Delegates.grpcsharp_server_destroy_delegate grpcsharp_server_destroy;
+
+ public readonly Delegates.gprsharp_now_delegate gprsharp_now;
+ public readonly Delegates.gprsharp_inf_future_delegate gprsharp_inf_future;
+ public readonly Delegates.gprsharp_inf_past_delegate gprsharp_inf_past;
+ public readonly Delegates.gprsharp_convert_clock_type_delegate gprsharp_convert_clock_type;
+ public readonly Delegates.gprsharp_sizeof_timespec_delegate gprsharp_sizeof_timespec;
+
+ public readonly Delegates.grpcsharp_test_callback_delegate grpcsharp_test_callback;
+ public readonly Delegates.grpcsharp_test_nop_delegate grpcsharp_test_nop;
+
+ #endregion
+
+ public NativeMethods(UnmanagedLibrary library)
+ {
+ if (PlatformApis.IsLinux || PlatformApis.IsMacOSX)
+ {
+ this.grpcsharp_init = GetMethodDelegate<Delegates.grpcsharp_init_delegate>(library);
+ this.grpcsharp_shutdown = GetMethodDelegate<Delegates.grpcsharp_shutdown_delegate>(library);
+ this.grpcsharp_version_string = GetMethodDelegate<Delegates.grpcsharp_version_string_delegate>(library);
+
+ this.grpcsharp_batch_context_create = GetMethodDelegate<Delegates.grpcsharp_batch_context_create_delegate>(library);
+ this.grpcsharp_batch_context_recv_initial_metadata = GetMethodDelegate<Delegates.grpcsharp_batch_context_recv_initial_metadata_delegate>(library);
+ this.grpcsharp_batch_context_recv_message_length = GetMethodDelegate<Delegates.grpcsharp_batch_context_recv_message_length_delegate>(library);
+ this.grpcsharp_batch_context_recv_message_to_buffer = GetMethodDelegate<Delegates.grpcsharp_batch_context_recv_message_to_buffer_delegate>(library);
+ this.grpcsharp_batch_context_recv_status_on_client_status = GetMethodDelegate<Delegates.grpcsharp_batch_context_recv_status_on_client_status_delegate>(library);
+ this.grpcsharp_batch_context_recv_status_on_client_details = GetMethodDelegate<Delegates.grpcsharp_batch_context_recv_status_on_client_details_delegate>(library);
+ this.grpcsharp_batch_context_recv_status_on_client_trailing_metadata = GetMethodDelegate<Delegates.grpcsharp_batch_context_recv_status_on_client_trailing_metadata_delegate>(library);
+ this.grpcsharp_batch_context_server_rpc_new_call = GetMethodDelegate<Delegates.grpcsharp_batch_context_server_rpc_new_call_delegate>(library);
+ this.grpcsharp_batch_context_server_rpc_new_method = GetMethodDelegate<Delegates.grpcsharp_batch_context_server_rpc_new_method_delegate>(library);
+ this.grpcsharp_batch_context_server_rpc_new_host = GetMethodDelegate<Delegates.grpcsharp_batch_context_server_rpc_new_host_delegate>(library);
+ this.grpcsharp_batch_context_server_rpc_new_deadline = GetMethodDelegate<Delegates.grpcsharp_batch_context_server_rpc_new_deadline_delegate>(library);
+ this.grpcsharp_batch_context_server_rpc_new_request_metadata = GetMethodDelegate<Delegates.grpcsharp_batch_context_server_rpc_new_request_metadata_delegate>(library);
+ this.grpcsharp_batch_context_recv_close_on_server_cancelled = GetMethodDelegate<Delegates.grpcsharp_batch_context_recv_close_on_server_cancelled_delegate>(library);
+ this.grpcsharp_batch_context_destroy = GetMethodDelegate<Delegates.grpcsharp_batch_context_destroy_delegate>(library);
+
+ this.grpcsharp_composite_call_credentials_create = GetMethodDelegate<Delegates.grpcsharp_composite_call_credentials_create_delegate>(library);
+ this.grpcsharp_call_credentials_release = GetMethodDelegate<Delegates.grpcsharp_call_credentials_release_delegate>(library);
+
+ this.grpcsharp_call_cancel = GetMethodDelegate<Delegates.grpcsharp_call_cancel_delegate>(library);
+ this.grpcsharp_call_cancel_with_status = GetMethodDelegate<Delegates.grpcsharp_call_cancel_with_status_delegate>(library);
+ this.grpcsharp_call_start_unary = GetMethodDelegate<Delegates.grpcsharp_call_start_unary_delegate>(library);
+ this.grpcsharp_call_start_client_streaming = GetMethodDelegate<Delegates.grpcsharp_call_start_client_streaming_delegate>(library);
+ this.grpcsharp_call_start_server_streaming = GetMethodDelegate<Delegates.grpcsharp_call_start_server_streaming_delegate>(library);
+ this.grpcsharp_call_start_duplex_streaming = GetMethodDelegate<Delegates.grpcsharp_call_start_duplex_streaming_delegate>(library);
+ this.grpcsharp_call_send_message = GetMethodDelegate<Delegates.grpcsharp_call_send_message_delegate>(library);
+ this.grpcsharp_call_send_close_from_client = GetMethodDelegate<Delegates.grpcsharp_call_send_close_from_client_delegate>(library);
+ this.grpcsharp_call_send_status_from_server = GetMethodDelegate<Delegates.grpcsharp_call_send_status_from_server_delegate>(library);
+ this.grpcsharp_call_recv_message = GetMethodDelegate<Delegates.grpcsharp_call_recv_message_delegate>(library);
+ this.grpcsharp_call_recv_initial_metadata = GetMethodDelegate<Delegates.grpcsharp_call_recv_initial_metadata_delegate>(library);
+ this.grpcsharp_call_start_serverside = GetMethodDelegate<Delegates.grpcsharp_call_start_serverside_delegate>(library);
+ this.grpcsharp_call_send_initial_metadata = GetMethodDelegate<Delegates.grpcsharp_call_send_initial_metadata_delegate>(library);
+ this.grpcsharp_call_set_credentials = GetMethodDelegate<Delegates.grpcsharp_call_set_credentials_delegate>(library);
+ this.grpcsharp_call_get_peer = GetMethodDelegate<Delegates.grpcsharp_call_get_peer_delegate>(library);
+ this.grpcsharp_call_destroy = GetMethodDelegate<Delegates.grpcsharp_call_destroy_delegate>(library);
+
+ this.grpcsharp_channel_args_create = GetMethodDelegate<Delegates.grpcsharp_channel_args_create_delegate>(library);
+ this.grpcsharp_channel_args_set_string = GetMethodDelegate<Delegates.grpcsharp_channel_args_set_string_delegate>(library);
+ this.grpcsharp_channel_args_set_integer = GetMethodDelegate<Delegates.grpcsharp_channel_args_set_integer_delegate>(library);
+ this.grpcsharp_channel_args_destroy = GetMethodDelegate<Delegates.grpcsharp_channel_args_destroy_delegate>(library);
+
+ this.grpcsharp_ssl_credentials_create = GetMethodDelegate<Delegates.grpcsharp_ssl_credentials_create_delegate>(library);
+ this.grpcsharp_composite_channel_credentials_create = GetMethodDelegate<Delegates.grpcsharp_composite_channel_credentials_create_delegate>(library);
+ this.grpcsharp_channel_credentials_release = GetMethodDelegate<Delegates.grpcsharp_channel_credentials_release_delegate>(library);
+
+ this.grpcsharp_insecure_channel_create = GetMethodDelegate<Delegates.grpcsharp_insecure_channel_create_delegate>(library);
+ this.grpcsharp_secure_channel_create = GetMethodDelegate<Delegates.grpcsharp_secure_channel_create_delegate>(library);
+ this.grpcsharp_channel_create_call = GetMethodDelegate<Delegates.grpcsharp_channel_create_call_delegate>(library);
+ this.grpcsharp_channel_check_connectivity_state = GetMethodDelegate<Delegates.grpcsharp_channel_check_connectivity_state_delegate>(library);
+ this.grpcsharp_channel_watch_connectivity_state = GetMethodDelegate<Delegates.grpcsharp_channel_watch_connectivity_state_delegate>(library);
+ this.grpcsharp_channel_get_target = GetMethodDelegate<Delegates.grpcsharp_channel_get_target_delegate>(library);
+ this.grpcsharp_channel_destroy = GetMethodDelegate<Delegates.grpcsharp_channel_destroy_delegate>(library);
+
+ this.grpcsharp_sizeof_grpc_event = GetMethodDelegate<Delegates.grpcsharp_sizeof_grpc_event_delegate>(library);
+
+ this.grpcsharp_completion_queue_create = GetMethodDelegate<Delegates.grpcsharp_completion_queue_create_delegate>(library);
+ this.grpcsharp_completion_queue_shutdown = GetMethodDelegate<Delegates.grpcsharp_completion_queue_shutdown_delegate>(library);
+ this.grpcsharp_completion_queue_next = GetMethodDelegate<Delegates.grpcsharp_completion_queue_next_delegate>(library);
+ this.grpcsharp_completion_queue_pluck = GetMethodDelegate<Delegates.grpcsharp_completion_queue_pluck_delegate>(library);
+ this.grpcsharp_completion_queue_destroy = GetMethodDelegate<Delegates.grpcsharp_completion_queue_destroy_delegate>(library);
+
+ this.gprsharp_free = GetMethodDelegate<Delegates.gprsharp_free_delegate>(library);
+
+ this.grpcsharp_metadata_array_create = GetMethodDelegate<Delegates.grpcsharp_metadata_array_create_delegate>(library);
+ this.grpcsharp_metadata_array_add = GetMethodDelegate<Delegates.grpcsharp_metadata_array_add_delegate>(library);
+ this.grpcsharp_metadata_array_count = GetMethodDelegate<Delegates.grpcsharp_metadata_array_count_delegate>(library);
+ this.grpcsharp_metadata_array_get_key = GetMethodDelegate<Delegates.grpcsharp_metadata_array_get_key_delegate>(library);
+ this.grpcsharp_metadata_array_get_value = GetMethodDelegate<Delegates.grpcsharp_metadata_array_get_value_delegate>(library);
+ this.grpcsharp_metadata_array_get_value_length = GetMethodDelegate<Delegates.grpcsharp_metadata_array_get_value_length_delegate>(library);
+ this.grpcsharp_metadata_array_destroy_full = GetMethodDelegate<Delegates.grpcsharp_metadata_array_destroy_full_delegate>(library);
+
+ this.grpcsharp_redirect_log = GetMethodDelegate<Delegates.grpcsharp_redirect_log_delegate>(library);
+
+ this.grpcsharp_metadata_credentials_create_from_plugin = GetMethodDelegate<Delegates.grpcsharp_metadata_credentials_create_from_plugin_delegate>(library);
+ this.grpcsharp_metadata_credentials_notify_from_plugin = GetMethodDelegate<Delegates.grpcsharp_metadata_credentials_notify_from_plugin_delegate>(library);
+
+ this.grpcsharp_ssl_server_credentials_create = GetMethodDelegate<Delegates.grpcsharp_ssl_server_credentials_create_delegate>(library);
+ this.grpcsharp_server_credentials_release = GetMethodDelegate<Delegates.grpcsharp_server_credentials_release_delegate>(library);
+
+ this.grpcsharp_server_create = GetMethodDelegate<Delegates.grpcsharp_server_create_delegate>(library);
+ this.grpcsharp_server_add_insecure_http2_port = GetMethodDelegate<Delegates.grpcsharp_server_add_insecure_http2_port_delegate>(library);
+ this.grpcsharp_server_add_secure_http2_port = GetMethodDelegate<Delegates.grpcsharp_server_add_secure_http2_port_delegate>(library);
+ this.grpcsharp_server_start = GetMethodDelegate<Delegates.grpcsharp_server_start_delegate>(library);
+ this.grpcsharp_server_request_call = GetMethodDelegate<Delegates.grpcsharp_server_request_call_delegate>(library);
+ this.grpcsharp_server_cancel_all_calls = GetMethodDelegate<Delegates.grpcsharp_server_cancel_all_calls_delegate>(library);
+ this.grpcsharp_server_shutdown_and_notify_callback = GetMethodDelegate<Delegates.grpcsharp_server_shutdown_and_notify_callback_delegate>(library);
+ this.grpcsharp_server_destroy = GetMethodDelegate<Delegates.grpcsharp_server_destroy_delegate>(library);
+
+ this.gprsharp_now = GetMethodDelegate<Delegates.gprsharp_now_delegate>(library);
+ this.gprsharp_inf_future = GetMethodDelegate<Delegates.gprsharp_inf_future_delegate>(library);
+ this.gprsharp_inf_past = GetMethodDelegate<Delegates.gprsharp_inf_past_delegate>(library);
+ this.gprsharp_convert_clock_type = GetMethodDelegate<Delegates.gprsharp_convert_clock_type_delegate>(library);
+ this.gprsharp_sizeof_timespec = GetMethodDelegate<Delegates.gprsharp_sizeof_timespec_delegate>(library);
+
+ this.grpcsharp_test_callback = GetMethodDelegate<Delegates.grpcsharp_test_callback_delegate>(library);
+ this.grpcsharp_test_nop = GetMethodDelegate<Delegates.grpcsharp_test_nop_delegate>(library);
+ }
+ else
+ {
+ // Windows or fallback
+ this.grpcsharp_init = PInvokeMethods.grpcsharp_init;
+ this.grpcsharp_shutdown = PInvokeMethods.grpcsharp_shutdown;
+ this.grpcsharp_version_string = PInvokeMethods.grpcsharp_version_string;
+
+ this.grpcsharp_batch_context_create = PInvokeMethods.grpcsharp_batch_context_create;
+ this.grpcsharp_batch_context_recv_initial_metadata = PInvokeMethods.grpcsharp_batch_context_recv_initial_metadata;
+ this.grpcsharp_batch_context_recv_message_length = PInvokeMethods.grpcsharp_batch_context_recv_message_length;
+ this.grpcsharp_batch_context_recv_message_to_buffer = PInvokeMethods.grpcsharp_batch_context_recv_message_to_buffer;
+ this.grpcsharp_batch_context_recv_status_on_client_status = PInvokeMethods.grpcsharp_batch_context_recv_status_on_client_status;
+ this.grpcsharp_batch_context_recv_status_on_client_details = PInvokeMethods.grpcsharp_batch_context_recv_status_on_client_details;
+ this.grpcsharp_batch_context_recv_status_on_client_trailing_metadata = PInvokeMethods.grpcsharp_batch_context_recv_status_on_client_trailing_metadata;
+ this.grpcsharp_batch_context_server_rpc_new_call = PInvokeMethods.grpcsharp_batch_context_server_rpc_new_call;
+ this.grpcsharp_batch_context_server_rpc_new_method = PInvokeMethods.grpcsharp_batch_context_server_rpc_new_method;
+ this.grpcsharp_batch_context_server_rpc_new_host = PInvokeMethods.grpcsharp_batch_context_server_rpc_new_host;
+ this.grpcsharp_batch_context_server_rpc_new_deadline = PInvokeMethods.grpcsharp_batch_context_server_rpc_new_deadline;
+ this.grpcsharp_batch_context_server_rpc_new_request_metadata = PInvokeMethods.grpcsharp_batch_context_server_rpc_new_request_metadata;
+ this.grpcsharp_batch_context_recv_close_on_server_cancelled = PInvokeMethods.grpcsharp_batch_context_recv_close_on_server_cancelled;
+ this.grpcsharp_batch_context_destroy = PInvokeMethods.grpcsharp_batch_context_destroy;
+
+ this.grpcsharp_composite_call_credentials_create = PInvokeMethods.grpcsharp_composite_call_credentials_create;
+ this.grpcsharp_call_credentials_release = PInvokeMethods.grpcsharp_call_credentials_release;
+
+ this.grpcsharp_call_cancel = PInvokeMethods.grpcsharp_call_cancel;
+ this.grpcsharp_call_cancel_with_status = PInvokeMethods.grpcsharp_call_cancel_with_status;
+ this.grpcsharp_call_start_unary = PInvokeMethods.grpcsharp_call_start_unary;
+ this.grpcsharp_call_start_client_streaming = PInvokeMethods.grpcsharp_call_start_client_streaming;
+ this.grpcsharp_call_start_server_streaming = PInvokeMethods.grpcsharp_call_start_server_streaming;
+ this.grpcsharp_call_start_duplex_streaming = PInvokeMethods.grpcsharp_call_start_duplex_streaming;
+ this.grpcsharp_call_send_message = PInvokeMethods.grpcsharp_call_send_message;
+ this.grpcsharp_call_send_close_from_client = PInvokeMethods.grpcsharp_call_send_close_from_client;
+ this.grpcsharp_call_send_status_from_server = PInvokeMethods.grpcsharp_call_send_status_from_server;
+ this.grpcsharp_call_recv_message = PInvokeMethods.grpcsharp_call_recv_message;
+ this.grpcsharp_call_recv_initial_metadata = PInvokeMethods.grpcsharp_call_recv_initial_metadata;
+ this.grpcsharp_call_start_serverside = PInvokeMethods.grpcsharp_call_start_serverside;
+ this.grpcsharp_call_send_initial_metadata = PInvokeMethods.grpcsharp_call_send_initial_metadata;
+ this.grpcsharp_call_set_credentials = PInvokeMethods.grpcsharp_call_set_credentials;
+ this.grpcsharp_call_get_peer = PInvokeMethods.grpcsharp_call_get_peer;
+ this.grpcsharp_call_destroy = PInvokeMethods.grpcsharp_call_destroy;
+
+ this.grpcsharp_channel_args_create = PInvokeMethods.grpcsharp_channel_args_create;
+ this.grpcsharp_channel_args_set_string = PInvokeMethods.grpcsharp_channel_args_set_string;
+ this.grpcsharp_channel_args_set_integer = PInvokeMethods.grpcsharp_channel_args_set_integer;
+ this.grpcsharp_channel_args_destroy = PInvokeMethods.grpcsharp_channel_args_destroy;
+
+ this.grpcsharp_ssl_credentials_create = PInvokeMethods.grpcsharp_ssl_credentials_create;
+ this.grpcsharp_composite_channel_credentials_create = PInvokeMethods.grpcsharp_composite_channel_credentials_create;
+ this.grpcsharp_channel_credentials_release = PInvokeMethods.grpcsharp_channel_credentials_release;
+
+ this.grpcsharp_insecure_channel_create = PInvokeMethods.grpcsharp_insecure_channel_create;
+ this.grpcsharp_secure_channel_create = PInvokeMethods.grpcsharp_secure_channel_create;
+ this.grpcsharp_channel_create_call = PInvokeMethods.grpcsharp_channel_create_call;
+ this.grpcsharp_channel_check_connectivity_state = PInvokeMethods.grpcsharp_channel_check_connectivity_state;
+ this.grpcsharp_channel_watch_connectivity_state = PInvokeMethods.grpcsharp_channel_watch_connectivity_state;
+ this.grpcsharp_channel_get_target = PInvokeMethods.grpcsharp_channel_get_target;
+ this.grpcsharp_channel_destroy = PInvokeMethods.grpcsharp_channel_destroy;
+
+ this.grpcsharp_sizeof_grpc_event = PInvokeMethods.grpcsharp_sizeof_grpc_event;
+
+ this.grpcsharp_completion_queue_create = PInvokeMethods.grpcsharp_completion_queue_create;
+ this.grpcsharp_completion_queue_shutdown = PInvokeMethods.grpcsharp_completion_queue_shutdown;
+ this.grpcsharp_completion_queue_next = PInvokeMethods.grpcsharp_completion_queue_next;
+ this.grpcsharp_completion_queue_pluck = PInvokeMethods.grpcsharp_completion_queue_pluck;
+ this.grpcsharp_completion_queue_destroy = PInvokeMethods.grpcsharp_completion_queue_destroy;
+
+ this.gprsharp_free = PInvokeMethods.gprsharp_free;
+
+ this.grpcsharp_metadata_array_create = PInvokeMethods.grpcsharp_metadata_array_create;
+ this.grpcsharp_metadata_array_add = PInvokeMethods.grpcsharp_metadata_array_add;
+ this.grpcsharp_metadata_array_count = PInvokeMethods.grpcsharp_metadata_array_count;
+ this.grpcsharp_metadata_array_get_key = PInvokeMethods.grpcsharp_metadata_array_get_key;
+ this.grpcsharp_metadata_array_get_value = PInvokeMethods.grpcsharp_metadata_array_get_value;
+ this.grpcsharp_metadata_array_get_value_length = PInvokeMethods.grpcsharp_metadata_array_get_value_length;
+ this.grpcsharp_metadata_array_destroy_full = PInvokeMethods.grpcsharp_metadata_array_destroy_full;
+
+ this.grpcsharp_redirect_log = PInvokeMethods.grpcsharp_redirect_log;
+
+ this.grpcsharp_metadata_credentials_create_from_plugin = PInvokeMethods.grpcsharp_metadata_credentials_create_from_plugin;
+ this.grpcsharp_metadata_credentials_notify_from_plugin = PInvokeMethods.grpcsharp_metadata_credentials_notify_from_plugin;
+
+ this.grpcsharp_ssl_server_credentials_create = PInvokeMethods.grpcsharp_ssl_server_credentials_create;
+ this.grpcsharp_server_credentials_release = PInvokeMethods.grpcsharp_server_credentials_release;
+
+ this.grpcsharp_server_create = PInvokeMethods.grpcsharp_server_create;
+ this.grpcsharp_server_add_insecure_http2_port = PInvokeMethods.grpcsharp_server_add_insecure_http2_port;
+ this.grpcsharp_server_add_secure_http2_port = PInvokeMethods.grpcsharp_server_add_secure_http2_port;
+ this.grpcsharp_server_start = PInvokeMethods.grpcsharp_server_start;
+ this.grpcsharp_server_request_call = PInvokeMethods.grpcsharp_server_request_call;
+ this.grpcsharp_server_cancel_all_calls = PInvokeMethods.grpcsharp_server_cancel_all_calls;
+ this.grpcsharp_server_shutdown_and_notify_callback = PInvokeMethods.grpcsharp_server_shutdown_and_notify_callback;
+ this.grpcsharp_server_destroy = PInvokeMethods.grpcsharp_server_destroy;
+
+ this.gprsharp_now = PInvokeMethods.gprsharp_now;
+ this.gprsharp_inf_future = PInvokeMethods.gprsharp_inf_future;
+ this.gprsharp_inf_past = PInvokeMethods.gprsharp_inf_past;
+ this.gprsharp_convert_clock_type = PInvokeMethods.gprsharp_convert_clock_type;
+ this.gprsharp_sizeof_timespec = PInvokeMethods.gprsharp_sizeof_timespec;
+
+ this.grpcsharp_test_callback = PInvokeMethods.grpcsharp_test_callback;
+ this.grpcsharp_test_nop = PInvokeMethods.grpcsharp_test_nop;
+ }
+ }
+
+ /// <summary>
+ /// Gets singleton instance of this class.
+ /// </summary>
+ public static NativeMethods Get()
+ {
+ return NativeExtension.Get().NativeMethods;
+ }
+
+ static T GetMethodDelegate<T>(UnmanagedLibrary library)
+ where T : class
+ {
+ var methodName = RemoveStringSuffix(typeof(T).Name, "_delegate");
+ return library.GetNativeMethodDelegate<T>(methodName);
+ }
+
+ static string RemoveStringSuffix(string str, string toRemove)
+ {
+ if (!str.EndsWith(toRemove))
+ {
+ return str;
+ }
+ return str.Substring(0, str.Length - toRemove.Length);
+ }
+
+ /// <summary>
+ /// Delegate types for all published native methods. Declared under inner class to prevent scope pollution.
+ /// </summary>
+ public class Delegates
+ {
+ public delegate void grpcsharp_init_delegate();
+ public delegate void grpcsharp_shutdown_delegate();
+ public delegate IntPtr grpcsharp_version_string_delegate(); // returns not-owned const char*
+
+ public delegate BatchContextSafeHandle grpcsharp_batch_context_create_delegate();
+ public delegate IntPtr grpcsharp_batch_context_recv_initial_metadata_delegate(BatchContextSafeHandle ctx);
+ public delegate IntPtr grpcsharp_batch_context_recv_message_length_delegate(BatchContextSafeHandle ctx);
+ public delegate void grpcsharp_batch_context_recv_message_to_buffer_delegate(BatchContextSafeHandle ctx, byte[] buffer, UIntPtr bufferLen);
+ public delegate StatusCode grpcsharp_batch_context_recv_status_on_client_status_delegate(BatchContextSafeHandle ctx);
+ public delegate IntPtr grpcsharp_batch_context_recv_status_on_client_details_delegate(BatchContextSafeHandle ctx); // returns const char*
+ public delegate IntPtr grpcsharp_batch_context_recv_status_on_client_trailing_metadata_delegate(BatchContextSafeHandle ctx);
+ public delegate CallSafeHandle grpcsharp_batch_context_server_rpc_new_call_delegate(BatchContextSafeHandle ctx);
+ public delegate IntPtr grpcsharp_batch_context_server_rpc_new_method_delegate(BatchContextSafeHandle ctx); // returns const char*
+ public delegate IntPtr grpcsharp_batch_context_server_rpc_new_host_delegate(BatchContextSafeHandle ctx); // returns const char*
+ public delegate Timespec grpcsharp_batch_context_server_rpc_new_deadline_delegate(BatchContextSafeHandle ctx);
+ public delegate IntPtr grpcsharp_batch_context_server_rpc_new_request_metadata_delegate(BatchContextSafeHandle ctx);
+ public delegate int grpcsharp_batch_context_recv_close_on_server_cancelled_delegate(BatchContextSafeHandle ctx);
+ public delegate void grpcsharp_batch_context_destroy_delegate(IntPtr ctx);
+
+ public delegate CallCredentialsSafeHandle grpcsharp_composite_call_credentials_create_delegate(CallCredentialsSafeHandle creds1, CallCredentialsSafeHandle creds2);
+ public delegate void grpcsharp_call_credentials_release_delegate(IntPtr credentials);
+
+ public delegate GRPCCallError grpcsharp_call_cancel_delegate(CallSafeHandle call);
+ public delegate GRPCCallError grpcsharp_call_cancel_with_status_delegate(CallSafeHandle call, StatusCode status, string description);
+ public delegate GRPCCallError grpcsharp_call_start_unary_delegate(CallSafeHandle call,
+ BatchContextSafeHandle ctx, byte[] send_buffer, UIntPtr send_buffer_len, MetadataArraySafeHandle metadataArray, WriteFlags writeFlags);
+ public delegate GRPCCallError grpcsharp_call_start_client_streaming_delegate(CallSafeHandle call,
+ BatchContextSafeHandle ctx, MetadataArraySafeHandle metadataArray);
+ public delegate GRPCCallError grpcsharp_call_start_server_streaming_delegate(CallSafeHandle call,
+ BatchContextSafeHandle ctx, byte[] send_buffer, UIntPtr send_buffer_len,
+ MetadataArraySafeHandle metadataArray, WriteFlags writeFlags);
+ public delegate GRPCCallError grpcsharp_call_start_duplex_streaming_delegate(CallSafeHandle call,
+ BatchContextSafeHandle ctx, MetadataArraySafeHandle metadataArray);
+ public delegate GRPCCallError grpcsharp_call_send_message_delegate(CallSafeHandle call,
+ BatchContextSafeHandle ctx, byte[] send_buffer, UIntPtr send_buffer_len, WriteFlags writeFlags, bool sendEmptyInitialMetadata);
+ public delegate GRPCCallError grpcsharp_call_send_close_from_client_delegate(CallSafeHandle call,
+ BatchContextSafeHandle ctx);
+ public delegate GRPCCallError grpcsharp_call_send_status_from_server_delegate(CallSafeHandle call,
+ BatchContextSafeHandle ctx, StatusCode statusCode, string statusMessage, MetadataArraySafeHandle metadataArray, bool sendEmptyInitialMetadata);
+ public delegate GRPCCallError grpcsharp_call_recv_message_delegate(CallSafeHandle call,
+ BatchContextSafeHandle ctx);
+ public delegate GRPCCallError grpcsharp_call_recv_initial_metadata_delegate(CallSafeHandle call,
+ BatchContextSafeHandle ctx);
+ public delegate GRPCCallError grpcsharp_call_start_serverside_delegate(CallSafeHandle call,
+ BatchContextSafeHandle ctx);
+ public delegate GRPCCallError grpcsharp_call_send_initial_metadata_delegate(CallSafeHandle call,
+ BatchContextSafeHandle ctx, MetadataArraySafeHandle metadataArray);
+ public delegate GRPCCallError grpcsharp_call_set_credentials_delegate(CallSafeHandle call, CallCredentialsSafeHandle credentials);
+ public delegate CStringSafeHandle grpcsharp_call_get_peer_delegate(CallSafeHandle call);
+ public delegate void grpcsharp_call_destroy_delegate(IntPtr call);
+
+ public delegate ChannelArgsSafeHandle grpcsharp_channel_args_create_delegate(UIntPtr numArgs);
+ public delegate void grpcsharp_channel_args_set_string_delegate(ChannelArgsSafeHandle args, UIntPtr index, string key, string value);
+ public delegate void grpcsharp_channel_args_set_integer_delegate(ChannelArgsSafeHandle args, UIntPtr index, string key, int value);
+ public delegate void grpcsharp_channel_args_destroy_delegate(IntPtr args);
+
+ public delegate ChannelCredentialsSafeHandle grpcsharp_ssl_credentials_create_delegate(string pemRootCerts, string keyCertPairCertChain, string keyCertPairPrivateKey);
+ public delegate ChannelCredentialsSafeHandle grpcsharp_composite_channel_credentials_create_delegate(ChannelCredentialsSafeHandle channelCreds, CallCredentialsSafeHandle callCreds);
+ public delegate void grpcsharp_channel_credentials_release_delegate(IntPtr credentials);
+
+ public delegate ChannelSafeHandle grpcsharp_insecure_channel_create_delegate(string target, ChannelArgsSafeHandle channelArgs);
+ public delegate ChannelSafeHandle grpcsharp_secure_channel_create_delegate(ChannelCredentialsSafeHandle credentials, string target, ChannelArgsSafeHandle channelArgs);
+ public delegate CallSafeHandle grpcsharp_channel_create_call_delegate(ChannelSafeHandle channel, CallSafeHandle parentCall, ContextPropagationFlags propagationMask, CompletionQueueSafeHandle cq, string method, string host, Timespec deadline);
+ public delegate ChannelState grpcsharp_channel_check_connectivity_state_delegate(ChannelSafeHandle channel, int tryToConnect);
+ public delegate void grpcsharp_channel_watch_connectivity_state_delegate(ChannelSafeHandle channel, ChannelState lastObservedState,
+ Timespec deadline, CompletionQueueSafeHandle cq, BatchContextSafeHandle ctx);
+ public delegate CStringSafeHandle grpcsharp_channel_get_target_delegate(ChannelSafeHandle call);
+ public delegate void grpcsharp_channel_destroy_delegate(IntPtr channel);
+
+ public delegate int grpcsharp_sizeof_grpc_event_delegate();
+
+ public delegate CompletionQueueSafeHandle grpcsharp_completion_queue_create_delegate();
+ public delegate void grpcsharp_completion_queue_shutdown_delegate(CompletionQueueSafeHandle cq);
+ public delegate CompletionQueueEvent grpcsharp_completion_queue_next_delegate(CompletionQueueSafeHandle cq);
+ public delegate CompletionQueueEvent grpcsharp_completion_queue_pluck_delegate(CompletionQueueSafeHandle cq, IntPtr tag);
+ public delegate void grpcsharp_completion_queue_destroy_delegate(IntPtr cq);
+
+ public delegate void gprsharp_free_delegate(IntPtr ptr);
+
+ public delegate MetadataArraySafeHandle grpcsharp_metadata_array_create_delegate(UIntPtr capacity);
+ public delegate void grpcsharp_metadata_array_add_delegate(MetadataArraySafeHandle array, string key, byte[] value, UIntPtr valueLength);
+ public delegate UIntPtr grpcsharp_metadata_array_count_delegate(IntPtr metadataArray);
+ public delegate IntPtr grpcsharp_metadata_array_get_key_delegate(IntPtr metadataArray, UIntPtr index);
+ public delegate IntPtr grpcsharp_metadata_array_get_value_delegate(IntPtr metadataArray, UIntPtr index);
+ public delegate UIntPtr grpcsharp_metadata_array_get_value_length_delegate(IntPtr metadataArray, UIntPtr index);
+ public delegate void grpcsharp_metadata_array_destroy_full_delegate(IntPtr array);
+
+ public delegate void grpcsharp_redirect_log_delegate(GprLogDelegate callback);
+
+ public delegate CallCredentialsSafeHandle grpcsharp_metadata_credentials_create_from_plugin_delegate(NativeMetadataInterceptor interceptor);
+ public delegate void grpcsharp_metadata_credentials_notify_from_plugin_delegate(IntPtr callbackPtr, IntPtr userData, MetadataArraySafeHandle metadataArray, StatusCode statusCode, string errorDetails);
+
+ public delegate ServerCredentialsSafeHandle grpcsharp_ssl_server_credentials_create_delegate(string pemRootCerts, string[] keyCertPairCertChainArray, string[] keyCertPairPrivateKeyArray, UIntPtr numKeyCertPairs, bool forceClientAuth);
+ public delegate void grpcsharp_server_credentials_release_delegate(IntPtr credentials);
+
+ public delegate ServerSafeHandle grpcsharp_server_create_delegate(CompletionQueueSafeHandle cq, ChannelArgsSafeHandle args);
+ public delegate int grpcsharp_server_add_insecure_http2_port_delegate(ServerSafeHandle server, string addr);
+ public delegate int grpcsharp_server_add_secure_http2_port_delegate(ServerSafeHandle server, string addr, ServerCredentialsSafeHandle creds);
+ public delegate void grpcsharp_server_start_delegate(ServerSafeHandle server);
+ public delegate GRPCCallError grpcsharp_server_request_call_delegate(ServerSafeHandle server, CompletionQueueSafeHandle cq, BatchContextSafeHandle ctx);
+ public delegate void grpcsharp_server_cancel_all_calls_delegate(ServerSafeHandle server);
+ public delegate void grpcsharp_server_shutdown_and_notify_callback_delegate(ServerSafeHandle server, CompletionQueueSafeHandle cq, BatchContextSafeHandle ctx);
+ public delegate void grpcsharp_server_destroy_delegate(IntPtr server);
+
+ public delegate Timespec gprsharp_now_delegate(GPRClockType clockType);
+ public delegate Timespec gprsharp_inf_future_delegate(GPRClockType clockType);
+ public delegate Timespec gprsharp_inf_past_delegate(GPRClockType clockType);
+
+ public delegate Timespec gprsharp_convert_clock_type_delegate(Timespec t, GPRClockType targetClock);
+ public delegate int gprsharp_sizeof_timespec_delegate();
+
+ public delegate GRPCCallError grpcsharp_test_callback_delegate([MarshalAs(UnmanagedType.FunctionPtr)] OpCompletionDelegate callback);
+ public delegate IntPtr grpcsharp_test_nop_delegate(IntPtr ptr);
+ }
+
+ /// <summary>
+ /// Default PInvoke bindings for native methods that are used on Windows.
+ /// Alternatively, they can also be used as a fallback on Mono
+ /// (if libgrpc_csharp_ext is installed on your system, or is made accessible through e.g. LD_LIBRARY_PATH environment variable
+ /// or using Mono's dllMap feature).
+ /// </summary>
+ private class PInvokeMethods
+ {
+ // Environment
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_init();
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_shutdown();
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern IntPtr grpcsharp_version_string(); // returns not-owned const char*
+
+ // BatchContextSafeHandle
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern BatchContextSafeHandle grpcsharp_batch_context_create();
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern IntPtr grpcsharp_batch_context_recv_initial_metadata(BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern IntPtr grpcsharp_batch_context_recv_message_length(BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_batch_context_recv_message_to_buffer(BatchContextSafeHandle ctx, byte[] buffer, UIntPtr bufferLen);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern StatusCode grpcsharp_batch_context_recv_status_on_client_status(BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern IntPtr grpcsharp_batch_context_recv_status_on_client_details(BatchContextSafeHandle ctx); // returns const char*
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern IntPtr grpcsharp_batch_context_recv_status_on_client_trailing_metadata(BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern CallSafeHandle grpcsharp_batch_context_server_rpc_new_call(BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern IntPtr grpcsharp_batch_context_server_rpc_new_method(BatchContextSafeHandle ctx); // returns const char*
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern IntPtr grpcsharp_batch_context_server_rpc_new_host(BatchContextSafeHandle ctx); // returns const char*
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern Timespec grpcsharp_batch_context_server_rpc_new_deadline(BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern IntPtr grpcsharp_batch_context_server_rpc_new_request_metadata(BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern int grpcsharp_batch_context_recv_close_on_server_cancelled(BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_batch_context_destroy(IntPtr ctx);
+
+ // CallCredentialsSafeHandle
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern CallCredentialsSafeHandle grpcsharp_composite_call_credentials_create(CallCredentialsSafeHandle creds1, CallCredentialsSafeHandle creds2);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_call_credentials_release(IntPtr credentials);
+
+ // CallSafeHandle
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_cancel(CallSafeHandle call);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_cancel_with_status(CallSafeHandle call, StatusCode status, string description);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_start_unary(CallSafeHandle call,
+ BatchContextSafeHandle ctx, byte[] send_buffer, UIntPtr send_buffer_len, MetadataArraySafeHandle metadataArray, WriteFlags writeFlags);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_start_client_streaming(CallSafeHandle call,
+ BatchContextSafeHandle ctx, MetadataArraySafeHandle metadataArray);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_start_server_streaming(CallSafeHandle call,
+ BatchContextSafeHandle ctx, byte[] send_buffer, UIntPtr send_buffer_len,
+ MetadataArraySafeHandle metadataArray, WriteFlags writeFlags);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_start_duplex_streaming(CallSafeHandle call,
+ BatchContextSafeHandle ctx, MetadataArraySafeHandle metadataArray);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_send_message(CallSafeHandle call,
+ BatchContextSafeHandle ctx, byte[] send_buffer, UIntPtr send_buffer_len, WriteFlags writeFlags, bool sendEmptyInitialMetadata);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_send_close_from_client(CallSafeHandle call,
+ BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_send_status_from_server(CallSafeHandle call,
+ BatchContextSafeHandle ctx, StatusCode statusCode, string statusMessage, MetadataArraySafeHandle metadataArray, bool sendEmptyInitialMetadata);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_recv_message(CallSafeHandle call,
+ BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_recv_initial_metadata(CallSafeHandle call,
+ BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_start_serverside(CallSafeHandle call,
+ BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_send_initial_metadata(CallSafeHandle call,
+ BatchContextSafeHandle ctx, MetadataArraySafeHandle metadataArray);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_call_set_credentials(CallSafeHandle call, CallCredentialsSafeHandle credentials);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern CStringSafeHandle grpcsharp_call_get_peer(CallSafeHandle call);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_call_destroy(IntPtr call);
+
+ // ChannelArgsSafeHandle
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern ChannelArgsSafeHandle grpcsharp_channel_args_create(UIntPtr numArgs);
+
+ [DllImport("grpc_csharp_ext.dll", CharSet = CharSet.Ansi)]
+ public static extern void grpcsharp_channel_args_set_string(ChannelArgsSafeHandle args, UIntPtr index, string key, string value);
+
+ [DllImport("grpc_csharp_ext.dll", CharSet = CharSet.Ansi)]
+ public static extern void grpcsharp_channel_args_set_integer(ChannelArgsSafeHandle args, UIntPtr index, string key, int value);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_channel_args_destroy(IntPtr args);
+
+ // ChannelCredentialsSafeHandle
+
+ [DllImport("grpc_csharp_ext.dll", CharSet = CharSet.Ansi)]
+ public static extern ChannelCredentialsSafeHandle grpcsharp_ssl_credentials_create(string pemRootCerts, string keyCertPairCertChain, string keyCertPairPrivateKey);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern ChannelCredentialsSafeHandle grpcsharp_composite_channel_credentials_create(ChannelCredentialsSafeHandle channelCreds, CallCredentialsSafeHandle callCreds);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_channel_credentials_release(IntPtr credentials);
+
+ // ChannelSafeHandle
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern ChannelSafeHandle grpcsharp_insecure_channel_create(string target, ChannelArgsSafeHandle channelArgs);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern ChannelSafeHandle grpcsharp_secure_channel_create(ChannelCredentialsSafeHandle credentials, string target, ChannelArgsSafeHandle channelArgs);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern CallSafeHandle grpcsharp_channel_create_call(ChannelSafeHandle channel, CallSafeHandle parentCall, ContextPropagationFlags propagationMask, CompletionQueueSafeHandle cq, string method, string host, Timespec deadline);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern ChannelState grpcsharp_channel_check_connectivity_state(ChannelSafeHandle channel, int tryToConnect);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_channel_watch_connectivity_state(ChannelSafeHandle channel, ChannelState lastObservedState,
+ Timespec deadline, CompletionQueueSafeHandle cq, BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern CStringSafeHandle grpcsharp_channel_get_target(ChannelSafeHandle call);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_channel_destroy(IntPtr channel);
+
+ // CompletionQueueEvent
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern int grpcsharp_sizeof_grpc_event();
+
+ // CompletionQueueSafeHandle
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern CompletionQueueSafeHandle grpcsharp_completion_queue_create();
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_completion_queue_shutdown(CompletionQueueSafeHandle cq);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern CompletionQueueEvent grpcsharp_completion_queue_next(CompletionQueueSafeHandle cq);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern CompletionQueueEvent grpcsharp_completion_queue_pluck(CompletionQueueSafeHandle cq, IntPtr tag);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_completion_queue_destroy(IntPtr cq);
+
+ // CStringSafeHandle
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void gprsharp_free(IntPtr ptr);
+
+ // MetadataArraySafeHandle
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern MetadataArraySafeHandle grpcsharp_metadata_array_create(UIntPtr capacity);
+
+ [DllImport("grpc_csharp_ext.dll", CharSet = CharSet.Ansi)]
+ public static extern void grpcsharp_metadata_array_add(MetadataArraySafeHandle array, string key, byte[] value, UIntPtr valueLength);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern UIntPtr grpcsharp_metadata_array_count(IntPtr metadataArray);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern IntPtr grpcsharp_metadata_array_get_key(IntPtr metadataArray, UIntPtr index);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern IntPtr grpcsharp_metadata_array_get_value(IntPtr metadataArray, UIntPtr index);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern UIntPtr grpcsharp_metadata_array_get_value_length(IntPtr metadataArray, UIntPtr index);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_metadata_array_destroy_full(IntPtr array);
+
+ // NativeLogRedirector
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_redirect_log(GprLogDelegate callback);
+
+ // NativeMetadataCredentialsPlugin
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern CallCredentialsSafeHandle grpcsharp_metadata_credentials_create_from_plugin(NativeMetadataInterceptor interceptor);
+
+ [DllImport("grpc_csharp_ext.dll", CharSet = CharSet.Ansi)]
+ public static extern void grpcsharp_metadata_credentials_notify_from_plugin(IntPtr callbackPtr, IntPtr userData, MetadataArraySafeHandle metadataArray, StatusCode statusCode, string errorDetails);
+
+ // ServerCredentialsSafeHandle
+
+ [DllImport("grpc_csharp_ext.dll", CharSet = CharSet.Ansi)]
+ public static extern ServerCredentialsSafeHandle grpcsharp_ssl_server_credentials_create(string pemRootCerts, string[] keyCertPairCertChainArray, string[] keyCertPairPrivateKeyArray, UIntPtr numKeyCertPairs, bool forceClientAuth);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_server_credentials_release(IntPtr credentials);
+
+ // ServerSafeHandle
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern ServerSafeHandle grpcsharp_server_create(CompletionQueueSafeHandle cq, ChannelArgsSafeHandle args);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern int grpcsharp_server_add_insecure_http2_port(ServerSafeHandle server, string addr);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern int grpcsharp_server_add_secure_http2_port(ServerSafeHandle server, string addr, ServerCredentialsSafeHandle creds);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_server_start(ServerSafeHandle server);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_server_request_call(ServerSafeHandle server, CompletionQueueSafeHandle cq, BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_server_cancel_all_calls(ServerSafeHandle server);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_server_shutdown_and_notify_callback(ServerSafeHandle server, CompletionQueueSafeHandle cq, BatchContextSafeHandle ctx);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern void grpcsharp_server_destroy(IntPtr server);
+
+ // Timespec
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern Timespec gprsharp_now(GPRClockType clockType);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern Timespec gprsharp_inf_future(GPRClockType clockType);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern Timespec gprsharp_inf_past(GPRClockType clockType);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern Timespec gprsharp_convert_clock_type(Timespec t, GPRClockType targetClock);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern int gprsharp_sizeof_timespec();
+
+ // Testing
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern GRPCCallError grpcsharp_test_callback([MarshalAs(UnmanagedType.FunctionPtr)] OpCompletionDelegate callback);
+
+ [DllImport("grpc_csharp_ext.dll")]
+ public static extern IntPtr grpcsharp_test_nop(IntPtr ptr);
+ }
+ }
+}
diff --git a/src/csharp/Grpc.Core/Internal/PlatformApis.cs b/src/csharp/Grpc.Core/Internal/PlatformApis.cs
new file mode 100644
index 0000000000..d71e7eccdd
--- /dev/null
+++ b/src/csharp/Grpc.Core/Internal/PlatformApis.cs
@@ -0,0 +1,110 @@
+#region Copyright notice and license
+
+// 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.
+
+#endregion
+
+using System;
+using System.Collections.Concurrent;
+using System.Diagnostics;
+using System.IO;
+using System.Reflection;
+using System.Runtime.InteropServices;
+using System.Threading;
+
+namespace Grpc.Core.Internal
+{
+ /// <summary>
+ /// Utility methods for detecting platform and architecture.
+ /// </summary>
+ internal static class PlatformApis
+ {
+ static readonly bool isLinux;
+ static readonly bool isMacOSX;
+ static readonly bool isWindows;
+
+ static PlatformApis()
+ {
+ var platform = Environment.OSVersion.Platform;
+
+ // PlatformID.MacOSX is never returned, commonly used trick is to identify Mac is by using uname.
+ isMacOSX = (platform == PlatformID.Unix && GetUname() == "Darwin");
+ isLinux = (platform == PlatformID.Unix && !isMacOSX);
+ isWindows = (platform == PlatformID.Win32NT || platform == PlatformID.Win32S || platform == PlatformID.Win32Windows);
+ }
+
+ public static bool IsLinux
+ {
+ get { return isLinux; }
+ }
+
+ public static bool IsMacOSX
+ {
+ get { return isMacOSX; }
+ }
+
+ public static bool IsWindows
+ {
+ get { return isWindows; }
+ }
+
+ public static bool Is64Bit
+ {
+ get { return IntPtr.Size == 8; }
+ }
+
+ [DllImport("libc")]
+ static extern int uname(IntPtr buf);
+
+ static string GetUname()
+ {
+ var buffer = Marshal.AllocHGlobal(8192);
+ try
+ {
+ if (uname(buffer) == 0)
+ {
+ return Marshal.PtrToStringAnsi(buffer);
+ }
+ return string.Empty;
+ }
+ catch
+ {
+ return string.Empty;
+ }
+ finally
+ {
+ if (buffer != IntPtr.Zero)
+ {
+ Marshal.FreeHGlobal(buffer);
+ }
+ }
+ }
+ }
+}
diff --git a/src/csharp/Grpc.Core/Internal/ServerCredentialsSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ServerCredentialsSafeHandle.cs
index 51e352a18b..a1d080c7f1 100644
--- a/src/csharp/Grpc.Core/Internal/ServerCredentialsSafeHandle.cs
+++ b/src/csharp/Grpc.Core/Internal/ServerCredentialsSafeHandle.cs
@@ -1,5 +1,5 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -41,11 +41,7 @@ namespace Grpc.Core.Internal
/// </summary>
internal class ServerCredentialsSafeHandle : SafeHandleZeroIsInvalid
{
- [DllImport("grpc_csharp_ext.dll", CharSet = CharSet.Ansi)]
- static extern ServerCredentialsSafeHandle grpcsharp_ssl_server_credentials_create(string pemRootCerts, string[] keyCertPairCertChainArray, string[] keyCertPairPrivateKeyArray, UIntPtr numKeyCertPairs, bool forceClientAuth);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_server_credentials_release(IntPtr credentials);
+ static readonly NativeMethods Native = NativeMethods.Get();
private ServerCredentialsSafeHandle()
{
@@ -54,15 +50,15 @@ namespace Grpc.Core.Internal
public static ServerCredentialsSafeHandle CreateSslCredentials(string pemRootCerts, string[] keyCertPairCertChainArray, string[] keyCertPairPrivateKeyArray, bool forceClientAuth)
{
Preconditions.CheckArgument(keyCertPairCertChainArray.Length == keyCertPairPrivateKeyArray.Length);
- return grpcsharp_ssl_server_credentials_create(pemRootCerts,
- keyCertPairCertChainArray, keyCertPairPrivateKeyArray,
- new UIntPtr((ulong)keyCertPairCertChainArray.Length),
- forceClientAuth);
+ return Native.grpcsharp_ssl_server_credentials_create(pemRootCerts,
+ keyCertPairCertChainArray, keyCertPairPrivateKeyArray,
+ new UIntPtr((ulong)keyCertPairCertChainArray.Length),
+ forceClientAuth);
}
protected override bool ReleaseHandle()
{
- grpcsharp_server_credentials_release(handle);
+ Native.grpcsharp_server_credentials_release(handle);
return true;
}
}
diff --git a/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs b/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs
index 5ee7ac14e8..a57fb3b789 100644
--- a/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs
+++ b/src/csharp/Grpc.Core/Internal/ServerSafeHandle.cs
@@ -1,6 +1,6 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -44,29 +44,7 @@ namespace Grpc.Core.Internal
/// </summary>
internal sealed class ServerSafeHandle : SafeHandleZeroIsInvalid
{
- [DllImport("grpc_csharp_ext.dll")]
- static extern ServerSafeHandle grpcsharp_server_create(CompletionQueueSafeHandle cq, ChannelArgsSafeHandle args);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern int grpcsharp_server_add_insecure_http2_port(ServerSafeHandle server, string addr);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern int grpcsharp_server_add_secure_http2_port(ServerSafeHandle server, string addr, ServerCredentialsSafeHandle creds);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_server_start(ServerSafeHandle server);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern GRPCCallError grpcsharp_server_request_call(ServerSafeHandle server, CompletionQueueSafeHandle cq, BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_server_cancel_all_calls(ServerSafeHandle server);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_server_shutdown_and_notify_callback(ServerSafeHandle server, CompletionQueueSafeHandle cq, BatchContextSafeHandle ctx);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern void grpcsharp_server_destroy(IntPtr server);
+ static readonly NativeMethods Native = NativeMethods.Get();
private ServerSafeHandle()
{
@@ -77,41 +55,41 @@ namespace Grpc.Core.Internal
// Increment reference count for the native gRPC environment to make sure we don't do grpc_shutdown() before destroying the server handle.
// Doing so would make object finalizer crash if we end up abandoning the handle.
GrpcEnvironment.GrpcNativeInit();
- return grpcsharp_server_create(cq, args);
+ return Native.grpcsharp_server_create(cq, args);
}
public int AddInsecurePort(string addr)
{
- return grpcsharp_server_add_insecure_http2_port(this, addr);
+ return Native.grpcsharp_server_add_insecure_http2_port(this, addr);
}
public int AddSecurePort(string addr, ServerCredentialsSafeHandle credentials)
{
- return grpcsharp_server_add_secure_http2_port(this, addr, credentials);
+ return Native.grpcsharp_server_add_secure_http2_port(this, addr, credentials);
}
public void Start()
{
- grpcsharp_server_start(this);
+ Native.grpcsharp_server_start(this);
}
public void ShutdownAndNotify(BatchCompletionDelegate callback, GrpcEnvironment environment)
{
var ctx = BatchContextSafeHandle.Create();
environment.CompletionRegistry.RegisterBatchCompletion(ctx, callback);
- grpcsharp_server_shutdown_and_notify_callback(this, environment.CompletionQueue, ctx);
+ Native.grpcsharp_server_shutdown_and_notify_callback(this, environment.CompletionQueue, ctx);
}
public void RequestCall(BatchCompletionDelegate callback, GrpcEnvironment environment)
{
var ctx = BatchContextSafeHandle.Create();
environment.CompletionRegistry.RegisterBatchCompletion(ctx, callback);
- grpcsharp_server_request_call(this, environment.CompletionQueue, ctx).CheckOk();
+ Native.grpcsharp_server_request_call(this, environment.CompletionQueue, ctx).CheckOk();
}
protected override bool ReleaseHandle()
{
- grpcsharp_server_destroy(handle);
+ Native.grpcsharp_server_destroy(handle);
GrpcEnvironment.GrpcNativeShutdown();
return true;
}
@@ -119,7 +97,7 @@ namespace Grpc.Core.Internal
// Only to be called after ShutdownAndNotify.
public void CancelAllCalls()
{
- grpcsharp_server_cancel_all_calls(this);
+ Native.grpcsharp_server_cancel_all_calls(this);
}
}
}
diff --git a/src/csharp/Grpc.Core/Internal/Timespec.cs b/src/csharp/Grpc.Core/Internal/Timespec.cs
index 3031175c8a..148d877da5 100644
--- a/src/csharp/Grpc.Core/Internal/Timespec.cs
+++ b/src/csharp/Grpc.Core/Internal/Timespec.cs
@@ -1,5 +1,5 @@
#region Copyright notice and license
-// Copyright 2015, Google Inc.
+// Copyright 2015-2016, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
@@ -46,23 +46,9 @@ namespace Grpc.Core.Internal
const long NanosPerTick = 100;
const long TicksPerSecond = NanosPerSecond / NanosPerTick;
+ static readonly NativeMethods Native = NativeMethods.Get();
static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
- [DllImport("grpc_csharp_ext.dll")]
- static extern Timespec gprsharp_now(GPRClockType clockType);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern Timespec gprsharp_inf_future(GPRClockType clockType);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern Timespec gprsharp_inf_past(GPRClockType clockType);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern Timespec gprsharp_convert_clock_type(Timespec t, GPRClockType targetClock);
-
- [DllImport("grpc_csharp_ext.dll")]
- static extern int gprsharp_sizeof_timespec();
-
public Timespec(long tv_sec, int tv_nsec) : this(tv_sec, tv_nsec, GPRClockType.Realtime)
{
}
@@ -85,7 +71,7 @@ namespace Grpc.Core.Internal
{
get
{
- return gprsharp_inf_future(GPRClockType.Realtime);
+ return Native.gprsharp_inf_future(GPRClockType.Realtime);
}
}
@@ -96,7 +82,7 @@ namespace Grpc.Core.Internal
{
get
{
- return gprsharp_inf_past(GPRClockType.Realtime);
+ return Native.gprsharp_inf_past(GPRClockType.Realtime);
}
}
@@ -107,7 +93,7 @@ namespace Grpc.Core.Internal
{
get
{
- return gprsharp_now(GPRClockType.Realtime);
+ return Native.gprsharp_now(GPRClockType.Realtime);
}
}
@@ -138,7 +124,7 @@ namespace Grpc.Core.Internal
/// </summary>
public Timespec ToClockType(GPRClockType targetClock)
{
- return gprsharp_convert_clock_type(this, targetClock);
+ return Native.gprsharp_convert_clock_type(this, targetClock);
}
/// <summary>
@@ -241,7 +227,7 @@ namespace Grpc.Core.Internal
{
get
{
- return gprsharp_now(GPRClockType.Precise);
+ return Native.gprsharp_now(GPRClockType.Precise);
}
}
@@ -249,7 +235,7 @@ namespace Grpc.Core.Internal
{
get
{
- return gprsharp_sizeof_timespec();
+ return Native.gprsharp_sizeof_timespec();
}
}
}
diff --git a/src/csharp/Grpc.Core/Internal/UnmanagedLibrary.cs b/src/csharp/Grpc.Core/Internal/UnmanagedLibrary.cs
new file mode 100644
index 0000000000..e614cab6ab
--- /dev/null
+++ b/src/csharp/Grpc.Core/Internal/UnmanagedLibrary.cs
@@ -0,0 +1,158 @@
+#region Copyright notice and license
+
+// 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.
+
+#endregion
+
+using System;
+using System.Collections.Concurrent;
+using System.Diagnostics;
+using System.IO;
+using System.Reflection;
+using System.Runtime.InteropServices;
+using System.Threading;
+
+using Grpc.Core.Logging;
+using Grpc.Core.Utils;
+
+namespace Grpc.Core.Internal
+{
+ /// <summary>
+ /// Represents a dynamically loaded unmanaged library in a (partially) platform independent manner.
+ /// An important difference in library loading semantics is that on Windows, once we load a dynamic library using LoadLibrary,
+ /// that library becomes instantly available for <c>DllImport</c> P/Invoke calls referring to the same library name.
+ /// On Unix systems, dlopen has somewhat different semantics, so we need to use dlsym and <c>Marshal.GetDelegateForFunctionPointer</c>
+ /// to obtain delegates to native methods.
+ /// See http://stackoverflow.com/questions/13461989/p-invoke-to-dynamically-loaded-library-on-mono.
+ /// </summary>
+ internal class UnmanagedLibrary
+ {
+ static readonly ILogger Logger = GrpcEnvironment.Logger.ForType<UnmanagedLibrary>();
+
+ // flags for dlopen
+ const int RTLD_LAZY = 1;
+ const int RTLD_GLOBAL = 8;
+
+ readonly string libraryPath;
+ readonly IntPtr handle;
+
+ public UnmanagedLibrary(string libraryPath)
+ {
+ this.libraryPath = Preconditions.CheckNotNull(libraryPath);
+
+ if (!File.Exists(this.libraryPath))
+ {
+ throw new FileNotFoundException("Error loading native library. File does not exist.", this.libraryPath);
+ }
+
+ Logger.Debug("Attempting to load native library \"{0}\"", this.libraryPath);
+
+ this.handle = PlatformSpecificLoadLibrary(this.libraryPath);
+
+ if (this.handle == IntPtr.Zero)
+ {
+ throw new IOException(string.Format("Error loading native library \"{0}\"", this.libraryPath));
+ }
+ }
+
+ /// <summary>
+ /// Loads symbol in a platform specific way.
+ /// </summary>
+ /// <param name="symbolName"></param>
+ /// <returns></returns>
+ public IntPtr LoadSymbol(string symbolName)
+ {
+ if (PlatformApis.IsLinux)
+ {
+ return Linux.dlsym(this.handle, symbolName);
+ }
+ if (PlatformApis.IsMacOSX)
+ {
+ return MacOSX.dlsym(this.handle, symbolName);
+ }
+ throw new InvalidOperationException("Unsupported platform.");
+ }
+
+ public T GetNativeMethodDelegate<T>(string methodName)
+ where T : class
+ {
+ var ptr = LoadSymbol(methodName);
+ if (ptr == IntPtr.Zero)
+ {
+ throw new MissingMethodException(string.Format("The native method \"{0}\" does not exist", methodName));
+ }
+ return Marshal.GetDelegateForFunctionPointer(ptr, typeof(T)) as T;
+ }
+
+ /// <summary>
+ /// Loads library in a platform specific way.
+ /// </summary>
+ private static IntPtr PlatformSpecificLoadLibrary(string libraryPath)
+ {
+ if (PlatformApis.IsWindows)
+ {
+ return Windows.LoadLibrary(libraryPath);
+ }
+ if (PlatformApis.IsLinux)
+ {
+ return Linux.dlopen(libraryPath, RTLD_GLOBAL + RTLD_LAZY);
+ }
+ if (PlatformApis.IsMacOSX)
+ {
+ return MacOSX.dlopen(libraryPath, RTLD_GLOBAL + RTLD_LAZY);
+ }
+ throw new InvalidOperationException("Unsupported platform.");
+ }
+
+ private static class Windows
+ {
+ [DllImport("kernel32.dll")]
+ internal static extern IntPtr LoadLibrary(string filename);
+ }
+
+ private static class Linux
+ {
+ [DllImport("libdl.so")]
+ internal static extern IntPtr dlopen(string filename, int flags);
+
+ [DllImport("libdl.so")]
+ internal static extern IntPtr dlsym(IntPtr handle, string symbol);
+ }
+
+ private static class MacOSX
+ {
+ [DllImport("libSystem.dylib")]
+ internal static extern IntPtr dlopen(string filename, int flags);
+
+ [DllImport("libSystem.dylib")]
+ internal static extern IntPtr dlsym(IntPtr handle, string symbol);
+ }
+ }
+}
diff --git a/src/csharp/Grpc.Core/NativeDeps.Linux.targets b/src/csharp/Grpc.Core/NativeDeps.Linux.targets
new file mode 100644
index 0000000000..a3848c6f2e
--- /dev/null
+++ b/src/csharp/Grpc.Core/NativeDeps.Linux.targets
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Content Include="..\..\..\libs\$(NativeDependenciesConfigurationUnix)\libgrpc_csharp_ext.so">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ <Link>nativelibs\linux_x64\libgrpc_csharp_ext.so</Link>
+ </Content>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/csharp/Grpc.Core/NativeDeps.Mac.targets b/src/csharp/Grpc.Core/NativeDeps.Mac.targets
new file mode 100644
index 0000000000..c3c6264fd3
--- /dev/null
+++ b/src/csharp/Grpc.Core/NativeDeps.Mac.targets
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Content Include="..\..\..\libs\$(NativeDependenciesConfigurationUnix)\libgrpc_csharp_ext.dylib">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ <Link>nativelibs\macosx_x86\libgrpc_csharp_ext.dylib</Link>
+ </Content>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/csharp/Grpc.Core/NativeDeps.Windows.targets b/src/csharp/Grpc.Core/NativeDeps.Windows.targets
new file mode 100644
index 0000000000..f6a3405e29
--- /dev/null
+++ b/src/csharp/Grpc.Core/NativeDeps.Windows.targets
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Content Include="..\..\..\vsprojects\$(NativeDependenciesConfiguration)\grpc_csharp_ext.dll">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ <Link>nativelibs\windows_x86\grpc_csharp_ext.dll</Link>
+ </Content>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/src/csharp/Grpc.Core/NativeDeps.targets b/src/csharp/Grpc.Core/NativeDeps.targets
new file mode 100644
index 0000000000..66c5ec1292
--- /dev/null
+++ b/src/csharp/Grpc.Core/NativeDeps.targets
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <PropertyGroup Condition=" '$(NativeDependenciesConfiguration)' == '' ">
+ <NativeDependenciesConfiguration Condition=" '$(Configuration)' == 'Debug' ">Debug</NativeDependenciesConfiguration>
+ <NativeDependenciesConfiguration Condition=" '$(Configuration)' == 'Release' ">Release</NativeDependenciesConfiguration>
+ <NativeDependenciesConfiguration Condition=" '$(Configuration)' == 'ReleaseSigned' ">Release</NativeDependenciesConfiguration>
+ </PropertyGroup>
+
+ <PropertyGroup Condition=" '$(NativeDependenciesConfigurationUnix)' == '' ">
+ <NativeDependenciesConfigurationUnix Condition=" '$(Configuration)' == 'Debug' ">dbg</NativeDependenciesConfigurationUnix>
+ <NativeDependenciesConfigurationUnix Condition=" '$(Configuration)' == 'Release' ">opt</NativeDependenciesConfigurationUnix>
+ <NativeDependenciesConfigurationUnix Condition=" '$(Configuration)' == 'ReleaseSigned' ">opt</NativeDependenciesConfigurationUnix>
+ </PropertyGroup>
+
+ <!-- Autodetect platform -->
+ <PropertyGroup Condition=" '$(OS)' != 'Unix' ">
+ <NativeDepsPlatform>Windows</NativeDepsPlatform>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(OS)' == 'Unix' And Exists('/Applications') And Exists('/Library') And Exists('/System') ">
+ <NativeDepsPlatform>Mac</NativeDepsPlatform>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(OS)' == 'Unix' And '$(NativeDepsPlatform)' == '' ">
+ <NativeDepsPlatform>Linux</NativeDepsPlatform>
+ </PropertyGroup>
+
+ <Import Project="NativeDeps.$(NativeDepsPlatform).targets" />
+</Project> \ No newline at end of file
diff --git a/src/csharp/Grpc.Examples.MathClient/Grpc.Examples.MathClient.csproj b/src/csharp/Grpc.Examples.MathClient/Grpc.Examples.MathClient.csproj
index b603e3af3c..35c0646a3f 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 5f74b58773..74d79b44d9 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 c4c1ee6d00..54c68c1f92 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 7266fa1763..10bf1e82d0 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 53b2bb78c4..c9b01950e5 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 d0e1ee8aae..33c4f8d9c0 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 175d110f76..a6e878d0f4 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 adf8da2363..f5131b8509 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 396dc43a02..bb6488b4f1 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 40ffb85203..4728093979 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 4e775a7a0c..7ffab4b692 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 570e274544..56673f1adf 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 da721ce5f6..882edd5627 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 cafff6123a..04eb42d1aa 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 8bc2082a1d..74d73e88d1 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 342eead1a3..0dc2751b04 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 1eadbeb920..f877b7fba2 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 4764e1072b..b90243c2bd 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 9bf2b8f7cf..4323c5a09f 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 b0d920a34c..30423313c0 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 51a56f067b..7ca47860f6 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 a37dd9a685..663f625aa7 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 b648da6734..04a092ccd7 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 ce388c6d5c..dd30afb427 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 4ae66baffa..39c00ea88c 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 cf47707058..91e0a1e04c 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 8c884b7408..2c469080d9 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 5c59af1b7d..68490dceec 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 45f6b26c66..6912dad213 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 08d4bdb335..fcc8442656 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 3aeda21ba3..0261a458af 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 0000000000..77f1cb9b1f
--- /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 0000000000..6a1795b709
--- /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 0000000000..501fc50548
--- /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 0000000000..cbeb68d3da
--- /dev/null
+++ b/src/csharp/keys/Grpc.snk
Binary files differ
diff --git a/src/csharp/keys/README.md b/src/csharp/keys/README.md
index f3e9a3cb56..968749aa0d 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 1113b4fbaa..75e5efc23e 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 3d634a340d..a2bb3ee329 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 76dad9e132..a21ce07978 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 a67be98431..00eadc25bc 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/php/ext/grpc/config.m4 b/src/php/ext/grpc/config.m4
index 7928687943..0fb843d51f 100755
--- a/src/php/ext/grpc/config.m4
+++ b/src/php/ext/grpc/config.m4
@@ -1,6 +1,9 @@
PHP_ARG_ENABLE(grpc, whether to enable grpc support,
[ --enable-grpc Enable grpc support])
+PHP_ARG_ENABLE(coverage, whether to include code coverage symbols,
+[ --enable-coverage Enable coverage support], no, no)
+
if test "$PHP_GRPC" != "no"; then
dnl Write more examples of tests here...
@@ -75,3 +78,66 @@ if test "$PHP_GRPC" != "no"; then
channel_credentials.c completion_queue.c timeval.c server.c \
server_credentials.c php_grpc.c, $ext_shared, , -Wall -Werror -std=c11)
fi
+
+if test "$PHP_COVERAGE" = "yes"; then
+
+ if test "$GCC" != "yes"; then
+ AC_MSG_ERROR([GCC is required for --enable-coverage])
+ fi
+
+ dnl Check if ccache is being used
+ case `$php_shtool path $CC` in
+ *ccache*[)] gcc_ccache=yes;;
+ *[)] gcc_ccache=no;;
+ esac
+
+ if test "$gcc_ccache" = "yes" && (test -z "$CCACHE_DISABLE" || test "$CCACHE_DISABLE" != "1"); then
+ AC_MSG_ERROR([ccache must be disabled when --enable-coverage option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.])
+ fi
+
+ lcov_version_list="1.5 1.6 1.7 1.9 1.10 1.11"
+
+ AC_CHECK_PROG(LCOV, lcov, lcov)
+ AC_CHECK_PROG(GENHTML, genhtml, genhtml)
+ PHP_SUBST(LCOV)
+ PHP_SUBST(GENHTML)
+
+ if test "$LCOV"; then
+ AC_CACHE_CHECK([for lcov version], php_cv_lcov_version, [
+ php_cv_lcov_version=invalid
+ lcov_version=`$LCOV -v 2>/dev/null | $SED -e 's/^.* //'` #'
+ for lcov_check_version in $lcov_version_list; do
+ if test "$lcov_version" = "$lcov_check_version"; then
+ php_cv_lcov_version="$lcov_check_version (ok)"
+ fi
+ done
+ ])
+ else
+ lcov_msg="To enable code coverage reporting you must have one of the following LCOV versions installed: $lcov_version_list"
+ AC_MSG_ERROR([$lcov_msg])
+ fi
+
+ case $php_cv_lcov_version in
+ ""|invalid[)]
+ lcov_msg="You must have one of the following versions of LCOV: $lcov_version_list (found: $lcov_version)."
+ AC_MSG_ERROR([$lcov_msg])
+ LCOV="exit 0;"
+ ;;
+ esac
+
+ if test -z "$GENHTML"; then
+ AC_MSG_ERROR([Could not find genhtml from the LCOV package])
+ fi
+
+ PHP_ADD_MAKEFILE_FRAGMENT
+
+ dnl Remove all optimization flags from CFLAGS
+ changequote({,})
+ CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9s]*//g'`
+ CXXFLAGS=`echo "$CXXFLAGS" | $SED -e 's/-O[0-9s]*//g'`
+ changequote([,])
+
+ dnl Add the special gcc flags
+ CFLAGS="$CFLAGS -O0 -ggdb -fprofile-arcs -ftest-coverage"
+ CXXFLAGS="$CXXFLAGS -ggdb -O0 -fprofile-arcs -ftest-coverage"
+fi
diff --git a/src/php/ext/grpc/package.xml b/src/php/ext/grpc/package.xml
index 9c98f82540..daf2ee5a53 100644
--- a/src/php/ext/grpc/package.xml
+++ b/src/php/ext/grpc/package.xml
@@ -10,8 +10,8 @@
<email>grpc-packages@google.com</email>
<active>yes</active>
</lead>
- <date>2015-12-16</date>
- <time>12:56:11</time>
+ <date>2016-01-13</date>
+ <time>16:06:07</time>
<version>
<release>0.7.0</release>
<api>0.7.0</api>
@@ -29,6 +29,7 @@
</notes>
<contents>
<dir baseinstalldir="/" name="/">
+ <file baseinstalldir="/" md5sum="f201d644fdbd8228ffd1d4a69cc44f1f" name="tests/grpc-basic.phpt" role="test" />
<file baseinstalldir="/" md5sum="6f19828fb869b7b8a590cbb76b4f996d" name="byte_buffer.c" role="src" />
<file baseinstalldir="/" md5sum="c8de0f819499c48adfc8d7f472c0196b" name="byte_buffer.h" role="src" />
<file baseinstalldir="/" md5sum="ee7eb7757f9e6f0e36f8f616b6bd0af5" name="call.c" role="src" />
@@ -41,9 +42,9 @@
<file baseinstalldir="/" md5sum="a86250e03f610ce6c2c7595a84e08821" name="channel_credentials.h" role="src" />
<file baseinstalldir="/" md5sum="55ab7a42f9dd9bfc7e28a61cfc5fca63" name="completion_queue.c" role="src" />
<file baseinstalldir="/" md5sum="f10b5bb232d74a6878e829e2e76cdaa2" name="completion_queue.h" role="src" />
- <file baseinstalldir="/" md5sum="c7bba7f0f00d1b1483de457d55311382" name="config.m4" role="src" />
+ <file baseinstalldir="/" md5sum="cafed254127007ff2271dad7d56a06c8" name="config.m4" role="src" />
<file baseinstalldir="/" md5sum="38a1bc979d810c36ebc2a52d4b7b5319" name="CREDITS" role="doc" />
- <file baseinstalldir="/" md5sum="3f35b472bbdef5a788cd90617d7d0847" name="LICENSE" role="doc" />
+ <file baseinstalldir="/" md5sum="8847cf67b1b54c981d47ecbb0d139a0c" name="LICENSE" role="doc" />
<file baseinstalldir="/" md5sum="3131a8af38fe5918e5409016b89d6cdb" name="php_grpc.c" role="src" />
<file baseinstalldir="/" md5sum="673b07859d9f69232f8a754c56780686" name="php_grpc.h" role="src" />
<file baseinstalldir="/" md5sum="7533a6d3ea02c78cad23a9651de0825d" name="README.md" role="doc" />
@@ -142,7 +143,7 @@ Update to wrap gRPC C Core version 0.10.0
<release>beta</release>
<api>beta</api>
</stability>
- <date>2015-12-16</date>
+ <date>2016-01-13</date>
<license>BSD</license>
<notes>
- Breaking change to Credentials class (removed) #3765
diff --git a/src/php/ext/grpc/tests/grpc-basic.phpt b/src/php/ext/grpc/tests/grpc-basic.phpt
new file mode 100644
index 0000000000..523cc4a59f
--- /dev/null
+++ b/src/php/ext/grpc/tests/grpc-basic.phpt
@@ -0,0 +1,10 @@
+--TEST--
+Check for grpc presence
+--SKIPIF--
+<?php if (!extension_loaded("grpc")) print "skip"; ?>
+--FILE--
+<?php
+echo "grpc extension is available";
+?>
+--EXPECT--
+grpc extension is available \ No newline at end of file
diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py
index e1a3f4bed3..bd12c5579c 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 bdb9147e5b..364158b2b8 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 8493bbd901..c921c69b4c 100644
--- a/src/python/grpcio/grpc_core_dependencies.py
+++ b/src/python/grpcio/grpc_core_dependencies.py
@@ -222,6 +222,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',
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 0000000000..b414f8e6f6
--- /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 e1d3c2709d..9f1fb8471c 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 c178f2f108..fc8daa992f 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 76d9f7663a..3179575486 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 0000000000..8d6064b10a
--- /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 bb18c353b1..54dc697125 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 4353a0de3a..589f724fd1 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 0000000000..5c82dfb347
--- /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 ba1c5a5ef8..04802772af 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 3a3ac1e0f3..9a84783467 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 e9438bed22..a985fea64d 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 a86a50065d..c538bffd71 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 15189d8b79..cc097a8fdf 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 0000000000..8e09e6c1c6
--- /dev/null
+++ b/test/core/census/tag_set_test.c
@@ -0,0 +1,374 @@
+/*
+ *
+ * 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);
+}
+
+// test encode/decode.
+static void encode_decode_test(void) {
+ const size_t BUF_SIZE = 200;
+ 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 6a4038da73..f24dbe72cf 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,12 +254,13 @@ 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)
] + [
{
- 'name': '%s_test' % f,
+ 'name': '%s_nosec_test' % f,
'args': [t],
'exclude_configs': [],
'platforms': END2END_FIXTURES[f].platforms,
@@ -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 99b30d6c4a..02db681cfd 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 6530fe4269..d8d8b36806 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 ba6c3191f1..f0e8ec386f 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/client.h b/test/cpp/qps/client.h
index 15cfd7a2d7..97487fd0b2 100644
--- a/test/cpp/qps/client.h
+++ b/test/cpp/qps/client.h
@@ -112,7 +112,7 @@ class ClientRequestCreator<ByteBuffer> {
public:
ClientRequestCreator(ByteBuffer* req, const PayloadConfig& payload_config) {
if (payload_config.has_bytebuf_params()) {
- std::unique_ptr<char> buf(
+ std::unique_ptr<char[]> buf(
new char[payload_config.bytebuf_params().req_size()]);
gpr_slice s = gpr_slice_from_copied_buffer(
buf.get(), payload_config.bytebuf_params().req_size());
diff --git a/test/cpp/qps/qps_driver.cc b/test/cpp/qps/qps_driver.cc
index eb0a7a5f4e..9816a09592 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 bed867e1a4..c0276d05b3 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 0db88ad3d1..27de69fa65 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 430ffb7cdc..a1e73e9abe 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
-Subproject 8fce8933649ce09c1661ff2b5b7f6eb79badd25
+Subproject d5fb408ddc281ffcadeb08699e65bb694656d0b
diff --git a/tools/buildgen/build-cleaner.py b/tools/buildgen/build-cleaner.py
index 4e592ee3ef..37fedec6ad 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 1f17ccb31b..3f5af53778 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 a2cd8249ef..4e7ba9ebb9 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 34437b9c8d..083a97874d 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 64bf4e377f..735c60ea99 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 0c0669083a..935acf525e 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 9d5d9673d5..5eea5a3846 100644
--- a/tools/doxygen/Doxyfile.core.internal
+++ b/tools/doxygen/Doxyfile.core.internal
@@ -1049,6 +1049,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 0000000000..c48f58e0d0
--- /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 0000000000..d5912010e3
--- /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 175b3d5651..562cfcb6a6 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 d0c5470ed6..73937068a4 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 0000000000..1905926cdc
--- /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 0000000000..de40247a73
--- /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 0000000000..774b4523a1
--- /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_interop_csharp/build_interop.sh b/tools/jenkins/grpc_interop_csharp/build_interop.sh
index 8fde687900..e87fe2f692 100755
--- a/tools/jenkins/grpc_interop_csharp/build_interop.sh
+++ b/tools/jenkins/grpc_interop_csharp/build_interop.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
@@ -42,6 +42,6 @@ cd /var/local/git/grpc
make install-certs
# build C# interop client & server
-make install_grpc_csharp_ext
+make CONFIG=dbg grpc_csharp_ext
(cd src/csharp && mono /var/local/NuGet.exe restore Grpc.sln)
(cd src/csharp && xbuild Grpc.sln)
diff --git a/tools/jenkins/grpc_jenkins_slave/Dockerfile b/tools/jenkins/grpc_jenkins_slave/Dockerfile
index b1ac024dfb..48541b00ad 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 348a333d3e..2323f23387 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 84b4ea51ed..49b2fa55c2 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 0000000000..33dc8c25ae
--- /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 0000000000..7438713f5c
--- /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 0000000000..0fd5bc63f3
--- /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/build_csharp.sh b/tools/run_tests/build_csharp.sh
index 55643ff924..aadd11e205 100755
--- a/tools/run_tests/build_csharp.sh
+++ b/tools/run_tests/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
@@ -32,4 +32,5 @@ set -ex
cd $(dirname $0)/../../src/csharp
-xbuild /p:Configuration=$MSBUILD_CONFIG Grpc.sln
+# overriding NativeDependenciesConfigurationUnix is needed to make gcov code coverage work.
+xbuild /p:Configuration=$MSBUILD_CONFIG /p:NativeDependenciesConfigurationUnix=$CONFIG Grpc.sln
diff --git a/tools/run_tests/build_php.sh b/tools/run_tests/build_php.sh
index 1d81779b6a..0f9cfe5e3a 100755
--- a/tools/run_tests/build_php.sh
+++ b/tools/run_tests/build_php.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
@@ -44,5 +44,9 @@ cd src/php
cd ext/grpc
phpize
-./configure --enable-grpc=$root
+if [ "$CONFIG" != "gcov" ] ; then
+ ./configure --enable-grpc=$root
+else
+ ./configure --enable-grpc=$root --enable-coverage
+fi
make
diff --git a/tools/run_tests/check_cache_mk.sh b/tools/run_tests/check_cache_mk.sh
new file mode 100755
index 0000000000..b738d6a965
--- /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
index 467f06edd7..b4ca4fa3ce 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 0000000000..769942df99
--- /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 e33433daf2..beeb99c0ae 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/post_tests_php.sh b/tools/run_tests/post_tests_php.sh
new file mode 100755
index 0000000000..01a44d03dc
--- /dev/null
+++ b/tools/run_tests/post_tests_php.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+# 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 -ex
+
+if [ "$CONFIG" != "gcov" ] ; then exit ; fi
+
+root=$(readlink -f $(dirname $0)/../..)
+out=$root/reports/php_ext_coverage
+tmp1=$(mktemp)
+tmp2=$(mktemp)
+cd $root
+lcov --capture --directory . --output-file $tmp1
+lcov --extract $tmp1 "$root/src/php/ext/grpc/*" --output-file $tmp2
+genhtml $tmp2 --output-directory $out
+rm $tmp2
+rm $tmp1
+
+cp -rv $root/src/php/coverage $root/reports/php
diff --git a/tools/run_tests/run_csharp.sh b/tools/run_tests/run_csharp.sh
index 744df07e1c..10f1c28521 100755
--- a/tools/run_tests/run_csharp.sh
+++ b/tools/run_tests/run_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
@@ -36,9 +36,6 @@ NUNIT_CONSOLE="mono packages/NUnit.Runners.2.6.4/tools/nunit-console.exe"
# change to gRPC repo root
cd $(dirname $0)/../..
-# path needs to be absolute
-export LD_LIBRARY_PATH=$(pwd)/libs/$CONFIG
-
(cd src/csharp; $NUNIT_CONSOLE $@)
if [ "$CONFIG" = "gcov" ]
diff --git a/tools/run_tests/run_interop_tests.py b/tools/run_tests/run_interop_tests.py
index 10566d6bc8..6ce618eb77 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 97962bd928..f8b01021c8 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,11 +231,14 @@ 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']]
def post_tests_steps(self):
- return []
+ return [['tools/run_tests/post_tests_php.sh']]
def makefile_name(self):
return 'Makefile'
@@ -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()))
diff --git a/tools/run_tests/sanity_tests.yaml b/tools/run_tests/sanity_tests.yaml
new file mode 100644
index 0000000000..160acde565
--- /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 b01845cc97..738ac50796 100644
--- a/tools/run_tests/sources_and_headers.json
+++ b/tools/run_tests/sources_and_headers.json
@@ -1098,6 +1098,20 @@
],
"headers": [],
"language": "c",
+ "name": "tag_set_test",
+ "src": [
+ "test/core/census/tag_set_test.c"
+ ]
+ },
+ {
+ "deps": [
+ "gpr",
+ "gpr_test_util",
+ "grpc",
+ "grpc_test_util"
+ ],
+ "headers": [],
+ "language": "c",
"name": "tcp_client_posix_test",
"src": [
"test/core/iomgr/tcp_client_posix_test.c"
@@ -2062,6 +2076,184 @@
},
{
"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",
"end2end_tests",
"gpr",
@@ -2544,184 +2736,6 @@
]
},
{
- "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": [
"include/grpc/support/alloc.h",
@@ -3024,6 +3038,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",
@@ -3525,6 +3540,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",
@@ -4343,6 +4359,40 @@
},
{
"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",
"gpr",
"gpr_test_util",
@@ -4461,39 +4511,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 2757ce445d..8c76b3f134 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",
@@ -1333,8 +1404,29 @@
"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": [
+ "linux",
+ "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,10 +16020,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15226,10 +16042,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15247,10 +16064,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15268,10 +16086,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15289,10 +16108,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15310,10 +16130,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15331,10 +16152,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15352,10 +16174,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15373,10 +16196,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15394,10 +16218,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15415,10 +16240,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15436,10 +16262,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15457,10 +16284,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15478,10 +16306,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15499,10 +16328,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15520,10 +16350,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15541,10 +16372,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15562,10 +16394,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15583,10 +16416,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15604,10 +16438,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15625,10 +16460,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15646,10 +16482,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15667,10 +16504,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15688,10 +16526,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15709,10 +16548,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15730,10 +16570,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15751,10 +16592,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15772,10 +16614,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15793,10 +16636,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15814,10 +16658,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15835,10 +16680,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15856,10 +16702,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15877,10 +16724,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15898,10 +16746,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15919,10 +16768,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_census_test",
+ "name": "h2_census_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15940,10 +16790,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15961,10 +16812,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -15982,10 +16834,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16003,10 +16856,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16024,10 +16878,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16045,10 +16900,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16066,10 +16922,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16087,10 +16944,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16108,10 +16966,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16129,10 +16988,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16150,10 +17010,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16171,10 +17032,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16192,10 +17054,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16213,10 +17076,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16234,10 +17098,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16255,10 +17120,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16276,10 +17142,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16297,10 +17164,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16318,10 +17186,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16339,10 +17208,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16360,10 +17230,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16381,10 +17252,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16402,10 +17274,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16423,10 +17296,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16444,10 +17318,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16465,10 +17340,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16486,10 +17362,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16507,10 +17384,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16528,10 +17406,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16549,10 +17428,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16570,10 +17450,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16591,10 +17472,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16612,10 +17494,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16633,10 +17516,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16654,10 +17538,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_compress_test",
+ "name": "h2_compress_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16675,10 +17560,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16696,10 +17582,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16717,10 +17604,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16738,10 +17626,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16759,10 +17648,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16780,10 +17670,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16801,10 +17692,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16822,10 +17714,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16843,10 +17736,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16864,10 +17758,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16885,10 +17780,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16906,10 +17802,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16927,10 +17824,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16948,10 +17846,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16969,10 +17868,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -16990,10 +17890,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17011,10 +17912,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17032,10 +17934,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17053,10 +17956,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17074,10 +17978,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17095,10 +18000,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17116,10 +18022,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17137,10 +18044,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17158,10 +18066,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17179,10 +18088,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17200,10 +18110,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17221,10 +18132,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17242,10 +18154,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17263,10 +18176,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17284,10 +18198,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17305,10 +18220,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17326,10 +18242,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17347,10 +18264,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17368,10 +18286,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17389,10 +18308,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full_test",
+ "name": "h2_full_nosec_test",
"platforms": [
"windows",
"linux",
@@ -17407,10 +18327,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17422,10 +18343,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17437,10 +18359,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17452,10 +18375,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17467,10 +18391,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17482,10 +18407,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17497,10 +18423,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17512,10 +18439,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17527,10 +18455,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17542,10 +18471,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17557,10 +18487,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17572,10 +18503,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17587,10 +18519,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17602,10 +18535,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17617,10 +18551,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17632,10 +18567,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17647,10 +18583,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17662,10 +18599,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17677,10 +18615,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17692,10 +18631,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17707,10 +18647,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17722,10 +18663,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17737,10 +18679,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17752,10 +18695,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17767,10 +18711,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17782,10 +18727,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17797,10 +18743,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17812,10 +18759,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17827,10 +18775,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17842,10 +18791,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17857,10 +18807,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17872,10 +18823,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17887,10 +18839,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17902,10 +18855,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17917,10 +18871,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+pipe_test",
+ "name": "h2_full+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -17932,10 +18887,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -17947,10 +18903,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -17962,10 +18919,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -17977,10 +18935,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -17992,10 +18951,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18007,10 +18967,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18022,10 +18983,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18037,10 +18999,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18052,10 +19015,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18067,10 +19031,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18082,10 +19047,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18097,10 +19063,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18112,10 +19079,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18127,10 +19095,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18142,10 +19111,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18157,10 +19127,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18172,10 +19143,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18187,10 +19159,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18202,10 +19175,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18217,10 +19191,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18232,10 +19207,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18247,10 +19223,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18262,10 +19239,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18277,10 +19255,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18292,10 +19271,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18307,10 +19287,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18322,10 +19303,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18337,10 +19319,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18352,10 +19335,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18367,10 +19351,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18382,10 +19367,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18397,10 +19383,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18412,10 +19399,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18427,10 +19415,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18442,10 +19431,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll_test",
+ "name": "h2_full+poll_nosec_test",
"platforms": [
"linux"
]
@@ -18457,10 +19447,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18472,10 +19463,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18487,10 +19479,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18502,10 +19495,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18517,10 +19511,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18532,10 +19527,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18547,10 +19543,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18562,10 +19559,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18577,10 +19575,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18592,10 +19591,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18607,10 +19607,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18622,10 +19623,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18637,10 +19639,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18652,10 +19655,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18667,10 +19671,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18682,10 +19687,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18697,10 +19703,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18712,10 +19719,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18727,10 +19735,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18742,10 +19751,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18757,10 +19767,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18772,10 +19783,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18787,10 +19799,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18802,10 +19815,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18817,10 +19831,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18832,10 +19847,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18847,10 +19863,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18862,10 +19879,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18877,10 +19895,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18892,10 +19911,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18907,10 +19927,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18922,10 +19943,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18937,10 +19959,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18952,10 +19975,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18967,10 +19991,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_full+poll+pipe_test",
+ "name": "h2_full+poll+pipe_nosec_test",
"platforms": [
"linux"
]
@@ -18984,10 +20009,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19004,10 +20030,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19024,10 +20051,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19044,10 +20072,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19064,10 +20093,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19084,10 +20114,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19104,10 +20135,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19124,10 +20156,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19144,10 +20177,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19164,10 +20198,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19184,10 +20219,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19204,10 +20240,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19224,10 +20261,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19244,10 +20282,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19264,10 +20303,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19284,10 +20324,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19304,10 +20345,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19324,10 +20366,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19344,10 +20387,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19364,10 +20408,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19384,10 +20429,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19404,10 +20450,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19424,10 +20471,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19444,10 +20492,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19464,10 +20513,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19484,10 +20534,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19504,10 +20555,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19524,10 +20576,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19544,10 +20597,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_proxy_test",
+ "name": "h2_proxy_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19564,10 +20618,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19584,10 +20639,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19604,10 +20660,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19624,10 +20681,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19644,10 +20702,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19664,10 +20723,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19684,10 +20744,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19704,10 +20765,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19724,10 +20786,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19744,10 +20807,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19764,10 +20828,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19784,10 +20849,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19804,10 +20870,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19824,10 +20891,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19844,10 +20912,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19864,10 +20933,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19884,10 +20954,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19904,10 +20975,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19924,10 +20996,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19944,10 +21017,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19964,10 +21038,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -19984,10 +21059,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20004,10 +21080,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20024,10 +21101,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20044,10 +21122,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20064,10 +21143,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20084,10 +21164,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20104,10 +21185,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20124,10 +21206,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20144,10 +21227,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_test",
+ "name": "h2_sockpair_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20165,10 +21249,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20186,10 +21271,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20207,10 +21293,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20228,10 +21315,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20249,10 +21337,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20270,10 +21359,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20291,10 +21381,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20312,10 +21403,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20333,10 +21425,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20354,10 +21447,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20375,10 +21469,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20396,10 +21491,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20417,10 +21513,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20438,10 +21535,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20459,10 +21557,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20480,10 +21579,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20501,10 +21601,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20522,10 +21623,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20543,10 +21645,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20564,10 +21667,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20585,10 +21689,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20606,10 +21711,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20627,10 +21733,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20648,10 +21755,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20669,10 +21777,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20690,10 +21799,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20711,10 +21821,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20732,10 +21843,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20753,10 +21865,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair+trace_test",
+ "name": "h2_sockpair+trace_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20773,10 +21886,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20793,10 +21907,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20813,10 +21928,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20833,10 +21949,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20853,10 +21970,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20873,10 +21991,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20893,10 +22012,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20913,10 +22033,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20933,10 +22054,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20953,10 +22075,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20973,10 +22096,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -20993,10 +22117,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21013,10 +22138,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21033,10 +22159,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21053,10 +22180,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21073,10 +22201,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21093,10 +22222,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21113,10 +22243,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21133,10 +22264,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21153,10 +22285,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21173,10 +22306,11 @@
"linux",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21193,10 +22327,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21213,10 +22348,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21233,10 +22369,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21253,10 +22390,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21273,10 +22411,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21293,10 +22432,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21313,10 +22453,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21333,10 +22474,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21353,10 +22495,11 @@
"linux",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_sockpair_1byte_test",
+ "name": "h2_sockpair_1byte_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21374,10 +22517,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21395,10 +22539,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21416,10 +22561,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21437,10 +22583,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21458,10 +22605,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21479,10 +22627,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21500,10 +22649,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21521,10 +22671,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21542,10 +22693,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21563,10 +22715,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21584,10 +22737,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21605,10 +22759,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21626,10 +22781,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21647,10 +22803,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21668,10 +22825,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21689,10 +22847,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21710,10 +22869,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21731,10 +22891,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21752,10 +22913,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21773,10 +22935,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21794,10 +22957,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21815,10 +22979,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21836,10 +23001,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21857,10 +23023,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21878,10 +23045,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21899,10 +23067,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21920,10 +23089,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21941,10 +23111,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21962,10 +23133,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -21983,10 +23155,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uchannel_test",
+ "name": "h2_uchannel_nosec_test",
"platforms": [
"windows",
"linux",
@@ -22003,10 +23176,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22022,10 +23196,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22041,10 +23216,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22060,10 +23236,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22079,10 +23256,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22098,10 +23276,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22117,10 +23296,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22136,10 +23316,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22155,10 +23336,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22174,10 +23356,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22193,10 +23376,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22212,10 +23396,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22231,10 +23416,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22250,10 +23436,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22269,10 +23456,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22288,10 +23476,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22307,10 +23496,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22326,10 +23516,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22345,10 +23536,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22364,10 +23556,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22383,10 +23576,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22402,10 +23596,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22421,10 +23616,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22440,10 +23636,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22459,10 +23656,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22478,10 +23676,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22497,10 +23696,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22516,10 +23716,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22535,10 +23736,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22554,10 +23756,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22573,10 +23776,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22592,10 +23796,11 @@
"mac",
"posix"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22611,10 +23816,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22630,10 +23836,11 @@
"mac",
"posix"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds_test",
+ "name": "h2_uds_nosec_test",
"platforms": [
"linux",
"mac",
@@ -22647,10 +23854,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22662,10 +23870,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22677,10 +23886,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22692,10 +23902,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22707,10 +23918,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22722,10 +23934,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22737,10 +23950,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22752,10 +23966,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22767,10 +23982,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22782,10 +23998,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22797,10 +24014,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22812,10 +24030,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22827,10 +24046,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22842,10 +24062,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22857,10 +24078,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22872,10 +24094,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22887,10 +24110,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22902,10 +24126,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22917,10 +24142,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22932,10 +24158,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22947,10 +24174,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22962,10 +24190,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22977,10 +24206,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -22992,10 +24222,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -23007,10 +24238,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -23022,10 +24254,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -23037,10 +24270,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -23052,10 +24286,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -23067,10 +24302,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -23082,10 +24318,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -23097,10 +24334,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -23112,10 +24350,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 0.1,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -23127,10 +24366,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
@@ -23142,10 +24382,11 @@
"ci_platforms": [
"linux"
],
+ "cpu_cost": 1.0,
"exclude_configs": [],
"flaky": false,
"language": "c",
- "name": "h2_uds+poll_test",
+ "name": "h2_uds+poll_nosec_test",
"platforms": [
"linux"
]
diff --git a/vsprojects/buildtests_c.sln b/vsprojects/buildtests_c.sln
index 06e882ee95..d8ecdea288 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 823cc99747..4919641a2b 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 ae830da1b2..0000000000
--- 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 58573f76d4..0000000000
--- 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 e6cd0ac421..0000000000
--- 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 72b9a79d89..0000000000
--- 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 e59215b835..0000000000
--- 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 db2c3ca9a9..2b57e41c64 100644
--- a/vsprojects/vcxproj/grpc/grpc.vcxproj
+++ b/vsprojects/vcxproj/grpc/grpc.vcxproj
@@ -711,6 +711,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 c74e0092d4..6c075a209a 100644
--- a/vsprojects/vcxproj/grpc/grpc.vcxproj.filters
+++ b/vsprojects/vcxproj/grpc/grpc.vcxproj.filters
@@ -454,6 +454,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 4d96e6df43..8c77e9f925 100644
--- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj
+++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj
@@ -647,6 +647,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 c84eeca211..b176224793 100644
--- a/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters
+++ b/vsprojects/vcxproj/grpc_unsecure/grpc_unsecure.vcxproj.filters
@@ -394,6 +394,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 0b017e71c1..7df2597b60 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 f575eae6ca..14e18e2d72 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 0000000000..9a468af3ad
--- /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 0000000000..6b31532251
--- /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 0000000000..4505dfadb2
--- /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 0000000000..4aea144f61
--- /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>
+