Merge branch 'minimal' into minimal_test

reviewable/pr10449/r1
Craig Tiller 8 years ago
commit 0e101ea8a3
  1. 16
      README.md
  2. 2
      src/core/ext/transport/chttp2/transport/chttp2_transport.c
  3. 1
      src/core/ext/transport/chttp2/transport/internal.h
  4. 13
      src/csharp/doc/grpc_csharp_public.shfbproj
  5. 124
      tools/run_tests/generated/tests.json
  6. 33
      tools/run_tests/performance/scenario_config.py

@ -27,14 +27,14 @@ Libraries in different languages may be in different states of development. We a
| Language | Source | Status | | Language | Source | Status |
|-------------------------|-------------------------------------|---------| |-------------------------|-------------------------------------|---------|
| Shared C [core library] | [src/core] (src/core) | 1.0 | | Shared C [core library] | [src/core](src/core) | 1.0 |
| C++ | [src/cpp] (src/cpp) | 1.0 | | C++ | [src/cpp](src/cpp) | 1.0 |
| Ruby | [src/ruby] (src/ruby) | 1.0 | | Ruby | [src/ruby](src/ruby) | 1.0 |
| NodeJS | [src/node] (src/node) | 1.0 | | NodeJS | [src/node](src/node) | 1.0 |
| Python | [src/python] (src/python) | 1.0 | | Python | [src/python](src/python) | 1.0 |
| PHP | [src/php] (src/php) | 1.0 | | PHP | [src/php](src/php) | 1.0 |
| C# | [src/csharp] (src/csharp) | 1.0 | | C# | [src/csharp](src/csharp) | 1.0 |
| Objective-C | [src/objective-c] (src/objective-c) | 1.0 | | Objective-C | [src/objective-c](src/objective-c) | 1.0 |
<small> <small>
Java source code is in the [grpc-java](http://github.com/grpc/grpc-java) repository. Java source code is in the [grpc-java](http://github.com/grpc/grpc-java) repository.

@ -1102,7 +1102,7 @@ static void continue_fetching_send_locked(grpc_exec_ctx *exec_ctx,
return; /* early out */ return; /* early out */
} else if (grpc_byte_stream_next(exec_ctx, s->fetching_send_message, } else if (grpc_byte_stream_next(exec_ctx, s->fetching_send_message,
&s->fetching_slice, UINT32_MAX, &s->fetching_slice, UINT32_MAX,
&s->complete_fetch)) { &s->complete_fetch_locked)) {
add_fetched_slice_locked(exec_ctx, t, s); add_fetched_slice_locked(exec_ctx, t, s);
} }
} }

@ -452,7 +452,6 @@ struct grpc_chttp2_stream {
int64_t next_message_end_offset; int64_t next_message_end_offset;
int64_t flow_controlled_bytes_written; int64_t flow_controlled_bytes_written;
bool complete_fetch_covered_by_poller; bool complete_fetch_covered_by_poller;
grpc_closure complete_fetch;
grpc_closure complete_fetch_locked; grpc_closure complete_fetch_locked;
grpc_closure *fetching_send_message_finished; grpc_closure *fetching_send_message_finished;

@ -18,8 +18,10 @@
<Language>en-US</Language> <Language>en-US</Language>
<DocumentationSources> <DocumentationSources>
<DocumentationSource sourceFile="..\Grpc.Auth\Grpc.Auth.csproj" /> <DocumentationSource sourceFile="..\Grpc.Auth\Grpc.Auth.csproj" />
<DocumentationSource sourceFile="..\Grpc.Core\Grpc.Core.csproj" /> <DocumentationSource sourceFile="..\Grpc.Core\Grpc.Core.csproj" />
</DocumentationSources> <DocumentationSource sourceFile="..\Grpc.HealthCheck\Grpc.HealthCheck.csproj" />
<DocumentationSource sourceFile="..\Grpc.Reflection\Grpc.Reflection.csproj" />
<DocumentationSource sourceFile="..\Grpc.Core.Testing\Grpc.Core.Testing.csproj" /></DocumentationSources>
<BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity> <BuildAssemblerVerbosity>OnlyWarningsAndErrors</BuildAssemblerVerbosity>
<HelpFileFormat>Website</HelpFileFormat> <HelpFileFormat>Website</HelpFileFormat>
<IndentHtml>False</IndentHtml> <IndentHtml>False</IndentHtml>
@ -40,12 +42,13 @@
<HtmlHelpName>Documentation</HtmlHelpName> <HtmlHelpName>Documentation</HtmlHelpName>
<NamespaceSummaries> <NamespaceSummaries>
<NamespaceSummaryItem name="Grpc.Auth" isDocumented="True">Provides OAuth2 based authentication for gRPC. &lt;c&gt;Grpc.Auth&lt;/c&gt; currently consists of a set of very lightweight wrappers and uses C# &lt;a href="https://www.nuget.org/packages/Google.Apis.Auth/"&gt;Google.Apis.Auth&lt;/a&gt; library.</NamespaceSummaryItem> <NamespaceSummaryItem name="Grpc.Auth" isDocumented="True">Provides OAuth2 based authentication for gRPC. &lt;c&gt;Grpc.Auth&lt;/c&gt; currently consists of a set of very lightweight wrappers and uses C# &lt;a href="https://www.nuget.org/packages/Google.Apis.Auth/"&gt;Google.Apis.Auth&lt;/a&gt; library.</NamespaceSummaryItem>
<NamespaceSummaryItem name="Grpc.Core" isDocumented="True">Main namespace for gRPC C# functionality. Contains concepts representing both client side and server side gRPC logic. <NamespaceSummaryItem name="Grpc.Core" isDocumented="True">Main namespace for gRPC C# functionality. Contains concepts representing both client side and server side gRPC logic.
&lt;seealso cref="Grpc.Core.Channel"/&gt; &lt;seealso cref="Grpc.Core.Channel"/&gt;
&lt;seealso cref="Grpc.Core.Server"/&gt;</NamespaceSummaryItem> &lt;seealso cref="Grpc.Core.Server"/&gt;</NamespaceSummaryItem>
<NamespaceSummaryItem name="Grpc.Core.Logging" isDocumented="True">Provides functionality to redirect gRPC logs to application-specified destination.</NamespaceSummaryItem> <NamespaceSummaryItem name="Grpc.Core.Logging" isDocumented="True">Provides functionality to redirect gRPC logs to application-specified destination.</NamespaceSummaryItem>
<NamespaceSummaryItem name="Grpc.Core.Utils" isDocumented="True">Various utilities for gRPC C#.</NamespaceSummaryItem></NamespaceSummaries> <NamespaceSummaryItem name="Grpc.Core.Utils" isDocumented="True">Various utilities for gRPC C#.</NamespaceSummaryItem>
</NamespaceSummaries>
<MissingTags>Summary, Parameter, AutoDocumentCtors, Namespace, TypeParameter, AutoDocumentDispose</MissingTags> <MissingTags>Summary, Parameter, AutoDocumentCtors, Namespace, TypeParameter, AutoDocumentDispose</MissingTags>
</PropertyGroup> </PropertyGroup>
<!-- There are no properties for these groups. AnyCPU needs to appear in order for Visual Studio to perform <!-- There are no properties for these groups. AnyCPU needs to appear in order for Visual Studio to perform

@ -40949,6 +40949,31 @@
"shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_secure", "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_secure",
"timeout_seconds": 360 "timeout_seconds": 360
}, },
{
"args": [
"--scenarios_json",
"{\"scenarios\": [{\"name\": \"cpp_protobuf_async_unary_ping_pong_secure_1mb\", \"warmup_seconds\": 0, \"benchmark_seconds\": 1, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"server_type\": \"ASYNC_SERVER\"}, \"num_clients\": 1, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 1048576, \"req_size\": 1048576}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}}]}"
],
"boringssl": true,
"ci_platforms": [
"linux"
],
"cpu_cost": "capacity",
"defaults": "boringssl",
"exclude_configs": [
"tsan",
"asan"
],
"excluded_poll_engines": [],
"flaky": false,
"language": "c++",
"name": "json_run_localhost",
"platforms": [
"linux"
],
"shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_secure_1mb",
"timeout_seconds": 360
},
{ {
"args": [ "args": [
"--scenarios_json", "--scenarios_json",
@ -41353,6 +41378,31 @@
"shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure", "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure",
"timeout_seconds": 360 "timeout_seconds": 360
}, },
{
"args": [
"--scenarios_json",
"{\"scenarios\": [{\"name\": \"cpp_protobuf_async_unary_ping_pong_insecure_1mb\", \"warmup_seconds\": 0, \"benchmark_seconds\": 1, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"security_params\": null, \"server_type\": \"ASYNC_SERVER\"}, \"num_clients\": 1, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 1048576, \"req_size\": 1048576}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}}]}"
],
"boringssl": true,
"ci_platforms": [
"linux"
],
"cpu_cost": "capacity",
"defaults": "boringssl",
"exclude_configs": [
"tsan",
"asan"
],
"excluded_poll_engines": [],
"flaky": false,
"language": "c++",
"name": "json_run_localhost",
"platforms": [
"linux"
],
"shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_insecure_1mb",
"timeout_seconds": 360
},
{ {
"args": [ "args": [
"--scenarios_json", "--scenarios_json",
@ -41853,6 +41903,43 @@
"shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_secure_low_thread_count", "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_secure_low_thread_count",
"timeout_seconds": 360 "timeout_seconds": 360
}, },
{
"args": [
"--scenarios_json",
"{\"scenarios\": [{\"name\": \"cpp_protobuf_async_unary_ping_pong_secure_1mb\", \"warmup_seconds\": 0, \"benchmark_seconds\": 1, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"server_type\": \"ASYNC_SERVER\"}, \"num_clients\": 1, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": {\"use_test_ca\": true, \"server_host_override\": \"foo.test.google.fr\"}, \"payload_config\": {\"simple_params\": {\"resp_size\": 1048576, \"req_size\": 1048576}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}}]}"
],
"boringssl": true,
"ci_platforms": [
"linux"
],
"cpu_cost": "capacity",
"defaults": "boringssl",
"exclude_configs": [
"asan-noleaks",
"asan-trace-cmp",
"basicprof",
"counters",
"dbg",
"gcov",
"helgrind",
"lto",
"memcheck",
"msan",
"mutrace",
"opt",
"stapprof",
"ubsan"
],
"excluded_poll_engines": [],
"flaky": false,
"language": "c++",
"name": "json_run_localhost",
"platforms": [
"linux"
],
"shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_secure_1mb_low_thread_count",
"timeout_seconds": 360
},
{ {
"args": [ "args": [
"--scenarios_json", "--scenarios_json",
@ -42449,6 +42536,43 @@
"shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure_low_thread_count", "shortname": "json_run_localhost:cpp_protobuf_async_client_sync_server_streaming_qps_unconstrained_insecure_low_thread_count",
"timeout_seconds": 360 "timeout_seconds": 360
}, },
{
"args": [
"--scenarios_json",
"{\"scenarios\": [{\"name\": \"cpp_protobuf_async_unary_ping_pong_insecure_1mb\", \"warmup_seconds\": 0, \"benchmark_seconds\": 1, \"num_servers\": 1, \"server_config\": {\"async_server_threads\": 0, \"security_params\": null, \"server_type\": \"ASYNC_SERVER\"}, \"num_clients\": 1, \"client_config\": {\"client_type\": \"ASYNC_CLIENT\", \"security_params\": null, \"payload_config\": {\"simple_params\": {\"resp_size\": 1048576, \"req_size\": 1048576}}, \"client_channels\": 1, \"async_client_threads\": 1, \"outstanding_rpcs_per_channel\": 1, \"rpc_type\": \"UNARY\", \"load_params\": {\"closed_loop\": {}}, \"histogram_params\": {\"max_possible\": 60000000000.0, \"resolution\": 0.01}}}]}"
],
"boringssl": true,
"ci_platforms": [
"linux"
],
"cpu_cost": "capacity",
"defaults": "boringssl",
"exclude_configs": [
"asan-noleaks",
"asan-trace-cmp",
"basicprof",
"counters",
"dbg",
"gcov",
"helgrind",
"lto",
"memcheck",
"msan",
"mutrace",
"opt",
"stapprof",
"ubsan"
],
"excluded_poll_engines": [],
"flaky": false,
"language": "c++",
"name": "json_run_localhost",
"platforms": [
"linux"
],
"shortname": "json_run_localhost:cpp_protobuf_async_unary_ping_pong_insecure_1mb_low_thread_count",
"timeout_seconds": 360
},
{ {
"args": [ "args": [
"--scenarios_json", "--scenarios_json",

@ -280,6 +280,13 @@ class CXXLanguage:
categories=smoketest_categories+[SCALABLE], categories=smoketest_categories+[SCALABLE],
excluded_poll_engines = ['poll-cv']) excluded_poll_engines = ['poll-cv'])
yield _ping_pong_scenario(
'cpp_protobuf_async_unary_ping_pong_%s_1mb' % secstr, rpc_type='UNARY',
client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
req_size=1024*1024, resp_size=1024*1024,
secure=secure,
categories=smoketest_categories)
for rpc_type in ['unary', 'streaming']: for rpc_type in ['unary', 'streaming']:
for synchronicity in ['sync', 'async']: for synchronicity in ['sync', 'async']:
yield _ping_pong_scenario( yield _ping_pong_scenario(
@ -412,6 +419,12 @@ class CSharpLanguage:
unconstrained_client='async', client_language='c++', unconstrained_client='async', client_language='c++',
categories=[SCALABLE]) categories=[SCALABLE])
yield _ping_pong_scenario(
'csharp_protobuf_async_unary_ping_pong_1mb', rpc_type='UNARY',
client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
req_size=1024*1024, resp_size=1024*1024,
categories=[SMOKETEST])
def __str__(self): def __str__(self):
return 'csharp' return 'csharp'
@ -449,9 +462,15 @@ class NodeLanguage:
yield _ping_pong_scenario( yield _ping_pong_scenario(
'cpp_to_node_unary_ping_pong', rpc_type='UNARY', 'cpp_to_node_unary_ping_pong', rpc_type='UNARY',
client_type='ASYNC_CLIENT', server_type='async_server', client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
client_language='c++') client_language='c++')
yield _ping_pong_scenario(
'node_protobuf_async_unary_ping_pong_1mb', rpc_type='UNARY',
client_type='ASYNC_CLIENT', server_type='ASYNC_SERVER',
req_size=1024*1024, resp_size=1024*1024,
categories=[SMOKETEST])
# TODO(murgatroid99): fix bugs with this scenario and re-enable it # TODO(murgatroid99): fix bugs with this scenario and re-enable it
# yield _ping_pong_scenario( # yield _ping_pong_scenario(
# 'node_protobuf_async_unary_qps_unconstrained', rpc_type='UNARY', # 'node_protobuf_async_unary_qps_unconstrained', rpc_type='UNARY',
@ -532,6 +551,12 @@ class PythonLanguage:
client_type='SYNC_CLIENT', server_type='ASYNC_SERVER', client_type='SYNC_CLIENT', server_type='ASYNC_SERVER',
server_language='c++', async_server_threads=1) server_language='c++', async_server_threads=1)
yield _ping_pong_scenario(
'python_protobuf_sync_unary_ping_pong_1mb', rpc_type='UNARY',
client_type='SYNC_CLIENT', server_type='ASYNC_SERVER',
req_size=1024*1024, resp_size=1024*1024,
categories=[SMOKETEST])
def __str__(self): def __str__(self):
return 'python' return 'python'
@ -578,6 +603,12 @@ class RubyLanguage:
client_type='SYNC_CLIENT', server_type='SYNC_SERVER', client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
server_language='c++', async_server_threads=1) server_language='c++', async_server_threads=1)
yield _ping_pong_scenario(
'ruby_protobuf_async_unary_ping_pong_1mb', rpc_type='UNARY',
client_type='SYNC_CLIENT', server_type='SYNC_SERVER',
req_size=1024*1024, resp_size=1024*1024,
categories=[SMOKETEST])
def __str__(self): def __str__(self):
return 'ruby' return 'ruby'

Loading…
Cancel
Save